C++ API#

This page is bridged from Doxygen by breathe. Doxygen parses the existing /// and /** comments in cpp/solvcon/ into XML; breathe turns that XML into the reference below.

Important

Run make doxygen once before make html so the Doxygen XML exists. Until then this directive renders empty (a warning, not an error).

Below is an example using solvcon::ConcreteBuffer.

class ConcreteBuffer : public std::enable_shared_from_this<ConcreteBuffer>, public solvcon::BufferBase<ConcreteBuffer>#

Untyped and unresizeable memory buffer for contiguous data storage.

Public Functions

inline ConcreteBuffer(size_t nbytes, size_t alignment, const ctor_passkey&)#
Parameters:
  • nbytes[in] Size of the memory buffer in bytes.

  • alignment[in] Alignment for the memory buffer in bytes. 0 means no alignment. Valid values are 0, 16, 32, or 64.

inline ConcreteBuffer(size_t nbytes, int8_t *data, std::unique_ptr<remover_type> &&remover, size_t alignment, const ctor_passkey&)#
Parameters:
  • nbytes[in] Size of the memory buffer in bytes.

  • data[in] Pointer to the memory buffer that is not supposed to be owned by this ConcreteBuffer.

  • remover[in] The memory deallocator for the unowned data buffer passed in.

  • alignment[in] Alignment for the memory buffer in bytes. 0 means no alignment. Valid values are 0, 16, 32, or 64.

Public Static Functions

static inline std::shared_ptr<ConcreteBuffer> construct()#

Construct an empty ConcreteBuffer with no data and no alignment.