OpenDDS  Snapshot(2023/04/28-20:55)
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
OpenDDS::SafetyProfile::DefaultEltPolicy< T > Struct Template Reference

#include <SafetyProfileSequence.h>

Public Types

typedef T & Element
 
typedef const T & ConstElement
 
typedef T ConstRawElement
 

Static Public Member Functions

static T & make_element (T &elt, seq_flag_type)
 
static void construct (T *, seq_size_type, seq_flag_type)
 
static void copy_n (const T *input, seq_size_type n, T *output)
 
static void move_n (T *in, seq_size_type n, T *out)
 
static void reset_n (T *, seq_size_type)
 
static T * destroy (T *buffer, seq_size_type)
 

Static Public Attributes

static const seq_size_type extra = 0
 

Detailed Description

template<typename T>
struct OpenDDS::SafetyProfile::DefaultEltPolicy< T >

Element Policy for sequence elements that are IDL "fixed-length" types. These types don't need initialization or destruction of elements in their allocbuf()/freebuf() functions.

Template Parameters
Telement type of the sequence

Definition at line 93 of file SafetyProfileSequence.h.

Member Typedef Documentation

◆ ConstElement

template<typename T >
typedef const T& OpenDDS::SafetyProfile::DefaultEltPolicy< T >::ConstElement

Definition at line 95 of file SafetyProfileSequence.h.

◆ ConstRawElement

template<typename T >
typedef T OpenDDS::SafetyProfile::DefaultEltPolicy< T >::ConstRawElement

Definition at line 96 of file SafetyProfileSequence.h.

◆ Element

template<typename T >
typedef T& OpenDDS::SafetyProfile::DefaultEltPolicy< T >::Element

Definition at line 94 of file SafetyProfileSequence.h.

Member Function Documentation

◆ construct()

template<typename T >
static void OpenDDS::SafetyProfile::DefaultEltPolicy< T >::construct ( T *  ,
seq_size_type  ,
seq_flag_type   
)
inlinestatic

Definition at line 99 of file SafetyProfileSequence.h.

99 {}

◆ copy_n()

template<typename T >
void OpenDDS::SafetyProfile::DefaultEltPolicy< T >::copy_n ( const T *  input,
seq_size_type  n,
T *  output 
)
inlinestatic

Definition at line 355 of file SafetyProfileSequence.h.

356  {
357  std::memcpy(out, in, n * sizeof(T));
358  }

◆ destroy()

template<typename T >
static T* OpenDDS::SafetyProfile::DefaultEltPolicy< T >::destroy ( T *  buffer,
seq_size_type   
)
inlinestatic

Definition at line 103 of file SafetyProfileSequence.h.

103 { return buffer; }

◆ make_element()

template<typename T >
static T& OpenDDS::SafetyProfile::DefaultEltPolicy< T >::make_element ( T &  elt,
seq_flag_type   
)
inlinestatic

Definition at line 98 of file SafetyProfileSequence.h.

98 { return elt; }

◆ move_n()

template<typename T >
static void OpenDDS::SafetyProfile::DefaultEltPolicy< T >::move_n ( T *  in,
seq_size_type  n,
T *  out 
)
inlinestatic

Definition at line 101 of file SafetyProfileSequence.h.

101 { copy_n(in, n, out); }
static void copy_n(const T *input, seq_size_type n, T *output)

◆ reset_n()

template<typename T >
static void OpenDDS::SafetyProfile::DefaultEltPolicy< T >::reset_n ( T *  ,
seq_size_type   
)
inlinestatic

Definition at line 102 of file SafetyProfileSequence.h.

102 {}

Member Data Documentation

◆ extra

template<typename T >
const seq_size_type OpenDDS::SafetyProfile::DefaultEltPolicy< T >::extra = 0
static

Definition at line 97 of file SafetyProfileSequence.h.


The documentation for this struct was generated from the following file: