RTI Connext Modern C++ API  Version 6.0.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
rti::flat::AbstractBuilder Class Reference

Base class of all Builders. More...

#include <Builder.hpp>

Inheritance diagram for rti::flat::AbstractBuilder:
rti::flat::AbstractListBuilder rti::flat::AggregationBuilder rti::flat::AbstractSequenceBuilder rti::flat::MutableArrayBuilder< ElementBuilder, N > MyFlatMutableBuilder rti::flat::UnionBuilder< Discriminator > rti::flat::UnionBuilder< int32_t > rti::flat::PrimitiveSequenceBuilder< char > rti::flat::FinalSequenceBuilder< ElementOffset > rti::flat::MutableSequenceBuilder< ElementBuilder > rti::flat::PrimitiveSequenceBuilder< T > MyFlatUnionBuilder rti::flat::StringBuilder

Public Member Functions

void discard ()
 Discards a member in process of being built.
 
bool is_nested () const
 Returns whether this is a member Builder.
 
bool is_valid () const
 Whether this Builder is valid.
 
rti::xcdr::length_t capacity () const
 Returns the total capacity in bytes.
 

Protected Member Functions

virtual ~AbstractBuilder ()
 If this is a member Builder, it calls finish().
 

Detailed Description

Base class of all Builders.

Constructor & Destructor Documentation

virtual rti::flat::AbstractBuilder::~AbstractBuilder ( )
inlineprotectedvirtual

If this is a member Builder, it calls finish().

If this Builder is building a member (that is, is_nested() is true), and the object goes out of scope before finish() has been called, its destructor calls finish(). Note, however, that it won't report any error.

If this Builder is building a sample (!is_nested()), its destructor doesn't do anything.

Member Function Documentation

void rti::flat::AbstractBuilder::discard ( )
inline

Discards a member in process of being built.

This function ends the creation of a member, returning the Builder of the type that contains the member to its previous state, as if this member had never been built.

Precondition
This object must be a member Builder, not a sample Builder.

This method is useful when during the building of a member an error occurs and the application wants to roll back, instead of finishing an incomplete member.

bool rti::flat::AbstractBuilder::is_nested ( ) const
inline

Returns whether this is a member Builder.

A member Builder is a Builder that has been created by calling a "build_<member>" function on another Builder (for example, MyFlatMutableBuilder::build_my_mutable()).

Returns
True if this is a member Builder, or false if this is a sample Builder.
bool rti::flat::AbstractBuilder::is_valid ( ) const
inline

Whether this Builder is valid.

A Builder is not valid when it is default-constructed, or after any of these functions is called: finish(), finish_sample(), discard().

rti::xcdr::length_t rti::flat::AbstractBuilder::capacity ( ) const
inline

Returns the total capacity in bytes.

The capacity is the total number of bytes this Builder can contain. For a sample Builder (that is, one such that is_nested() returns false), rti::flat::build_data reserves enough bytes to accommodate any sample of a given type.


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