Proxy 3 Specifications
This document provides the API specifications for the C++ library Proxy (version 3). All the documented concepts, classes, and functions are defined in the namespace pro
. Unless otherwise specified, all facilities are freestanding by default.
Concepts
Name |
Description |
facade |
Specifies that a type models a “facade” |
proxiable |
Specifies that a pointer type can instantiate a proxy |
inplace_proxiable_target |
Specifies that a value type can instantiate a proxy without allocation |
Classes
Functions
Name |
Description |
make_proxy |
Creates a proxy object potentially with heap allocation |
make_proxy_inplace |
Creates a proxy object with strong no-allocation guarantee |
allocate_proxy |
Creates a proxy object with an allocator |
proxy_invoke |
Invokes a proxy with a specified convention |
proxy_reflect |
Acquires reflection information of the underlying pointer type |
access_proxy |
Accesses a proxy object via an accessor |
Macros
Named Requirements
Name |
Description |
ProBasicFacade |
Specifies that a type potentially models a “facade” of proxy |
ProBasicConvention |
Specifies that a type potentially models a “convention” |
ProFacade |
Specifies that a type models a “facade” of proxy |
ProConvention |
Specifies that a type models a “convention” |
ProReflection |
Specifies that a type models a “reflection” |
ProDispatch |
Specifies that a type models a “dispatch” |
ProOverload |
Specifies that a type models an “overload” |
ProAccessible |
Specifies that a type provides accessibility to proxy |