IODA Bundle
Types Across Interface Boundaries

Details internal to IODA's engines. More...

Collaboration diagram for Types Across Interface Boundaries:

Files

file  Type_Provider.h
 Frontend/backend bindings for the type system.
 

Classes

struct  ioda::Marshalled_Data< T, value_type, FreeOnClose >
 Structure used to pass data between the frontend and the backend engine. More...
 
struct  ioda::detail::Object_Accessor_Regular< DataType, value_type >
 
struct  ioda::detail::Object_Accessor_Fixed_Array< DataType, value_type >
 
struct  ioda::detail::Object_Accessor_Variable_Array_With_Data_Method< DataType, value_type >
 
struct  ioda::detail::Object_Accessor_Variable_Raw_Array< DataType, value_type >
 
class  ioda::detail::Type_Provider
 Backends implement type providers in conjunction with Attributes, Has_Attributes, Variables and Has_Variables. The backend objects pass through their underlying logic to represent types. More...
 

Enumerations

enum class  ioda::detail::PointerOwner { ioda::detail::Engine , ioda::detail::Caller }
 Who owns (and should free) pointers passed across the frontend / backend interface? More...
 

Functions

template<class DataType , bool FreeOnClose>
void ioda::FreeType (DataType, typename std::enable_if<!std::is_pointer< DataType >::value >::type *=0)
 

Detailed Description

Details internal to IODA's engines.

Enumeration Type Documentation

◆ PointerOwner

Who owns (and should free) pointers passed across the frontend / backend interface?

Enumerator
Engine 

The backend engine frees pointers that it provides.

Caller 

The user has to free pointers.

Definition at line 27 of file Type_Provider.h.

Function Documentation

◆ FreeType()

template<class DataType , bool FreeOnClose>
void ioda::FreeType ( DataType  ,
typename std::enable_if<!std::is_pointer< DataType >::value >::type *  = 0 
)

Definition at line 32 of file Marshalling.h.