RTI Connext Traditional C++ API  Version 6.0.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
rti::flat::PrimitiveSequenceBuilder< T > Class Template Reference

Builds a sequence of primitive members. More...

#include <SequenceBuilders.hpp>

Inheritance diagram for rti::flat::PrimitiveSequenceBuilder< T >:
rti::flat::AbstractSequenceBuilder rti::flat::AbstractListBuilder rti::flat::AbstractBuilder

Public Member Functions

PrimitiveSequenceBuilderadd_next (T value)
 Adds the next element.
 
PrimitiveSequenceBuilderadd_n (const T *array, unsigned int count)
 Adds all the elements in an array.
 
PrimitiveSequenceBuilderadd_n (unsigned int count, T value)
 Adds a number of elements with the same value.
 
PrimitiveSequenceBuilderadd_n (unsigned int count)
 Adds a number of uninitialized elements.
 
Offset finish ()
 Finishes building the sequence.
 

Additional Inherited Members

- Protected Member Functions inherited from rti::flat::AbstractListBuilder
unsigned int element_count () const
 Returns the current number of elements that have been added.
 

Detailed Description

template<typename T>
class rti::flat::PrimitiveSequenceBuilder< T >

Builds a sequence of primitive members.

The elements can be added one by one with add_next() or all at once with add_n().

Member Function Documentation

template<typename T>
PrimitiveSequenceBuilder& rti::flat::PrimitiveSequenceBuilder< T >::add_next ( value)
inline

Adds the next element.

Parameters
valueThe primitive element to add
template<typename T>
PrimitiveSequenceBuilder& rti::flat::PrimitiveSequenceBuilder< T >::add_n ( const T *  array,
unsigned int  count 
)
inline

Adds all the elements in an array.

Parameters
arrayThe array containing the values to add
countThe size of the array
template<typename T>
PrimitiveSequenceBuilder& rti::flat::PrimitiveSequenceBuilder< T >::add_n ( unsigned int  count,
value 
)
inline

Adds a number of elements with the same value.

This overload initializes all the elements to a value.

Note
This operation is O(count). The other overloads, add_n(unsigned int) and add_n(const T*, unsigned int), are more efficient
Parameters
countThe number of elements to add
valueThe value to set for each element
template<typename T>
PrimitiveSequenceBuilder& rti::flat::PrimitiveSequenceBuilder< T >::add_n ( unsigned int  count)
inline

Adds a number of uninitialized elements.

This operation is O(1), since it leaves the elements uninitialized. They can be initialized using the Offset returned by finish() and rti::flat::plain_cast(). For example:

MyFlatMutableBuilder builder = ...;
auto seq_builder = builder.build_my_primitive_seq();
seq_builder.add_n(1000);
auto seq_offset = seq_builder.finish();
int32_t *elements = rti::flat::plain_cast(seq_offset);
for (int i = 0; i < 1000; i++) {
elements[i] = ...;
}
Parameters
countThe number of elements to add
template<typename T>
Offset rti::flat::PrimitiveSequenceBuilder< T >::finish ( )
inline

Finishes building the sequence.

Returns
An Offset to the member that has been built.
See Also
discard()

RTI Connext Traditional C++ API Version 6.0.1 Copyright © Sat Nov 23 2019 Real-Time Innovations, Inc