最終更新日時: 2025年07月10日 10時26分30秒 (JST)
Koichi Murase が更新

履歴 編集

function
<memory_resource>

# std::pmr::polymorphic_allocator::resource(C++17)

    memory_resource* resource() const;

## 概要

`polymorphic_allocator`が保持する`memory_resource`を取得する。

## 戻り値

利用している`memory_resource`のポインタ。

この関数の実行後、内部で`memory_resource`を保持しない状態になったりはしない。

## 例

    #include <iostream>
    #include <memory_resource>

    int main() {
      auto mr = std::pmr::monotonic_buffer_resource{};
      std::pmr::polymorphic_allocator<int> alloc{ &mr };

      std::cout << std::boolalpha;
      std::cout << (*alloc.resource() == mr);
    }

### 出力

    true

## バージョン

### 言語

- C++17

### 処理系

- Clang: ??
- GCC: 9.1 ✅
- Visual C++: 2017 update 6 ✅

## 参照

- P0220R1 Adopt Library Fundamentals V1 TS Components for C++17 (R1)
- P0337r0 | Delete operator= for polymorphic_allocator
- Working Draft, C++ Extensions for Library Fundamentals, Version 2