class Gambit::Printers::VertexBufferBase

VertexBuffer abstract interface base class.

#include <VertexBufferBase.hpp>

Inherited by Gambit::Printers::VertexBufferNumeric1D< T, CHUNKLENGTH >, Gambit::Printers::VertexBufferNumeric1D< T, LENGTH >

Public Functions

Name
characcess_mode() const
Buffer status getters.
boolsync_buffer_is_full() const
boolsync_buffer_is_empty() const
boolis_synchronised() const
boolis_silenced() const
boolresume_mode() const
boolMPI_mode() const
unsigned intget_head_position() const
VertexBufferBase()
VertexBufferBase(const std::string & l, const int vID, const uint i, const bool sync, const bool sil, const bool r, const bool mode, const char a)
virtual~VertexBufferBase()
intget_vertexID() const
uintget_index() const
std::stringget_label() const
voidMPImode_only(std::string local_info)
virtual unsigned longdset_head_pos() =0
virtual voidsync_report() =0
virtual voidflush() =0
virtual voidRA_flush(const std::map< PPIDpair, ulong > & PPID_to_dsetindex) =0
virtual voidfinalise() =0
virtual std::size_tpostponed_RA_queue_length() =0
virtual uintget_RA_queue_length() =0
virtual voidreset(bool force =false) =0
virtual voidskip_append() =0
virtual voidN_skip_append(ulong N) =0
virtual ulongget_dataset_length() =0
booldonepoint()
voidset_donepoint(bool flag)
voidmove_head_to_next_slot()
voidfast_forward(long target_pos)
voidreset_head()
voiderror_if_done()
virtual voidsynchronise_output_to_position(const unsigned long i) =0

Protected Attributes

Name
boolsync_buffer_full
flag to indicate if the sync buffer is full (and ready for sending/dumping)
boolsync_buffer_empty

Public Functions Documentation

function access_mode

inline char access_mode() const

Buffer status getters.

function sync_buffer_is_full

inline bool sync_buffer_is_full() const

function sync_buffer_is_empty

inline bool sync_buffer_is_empty() const

function is_synchronised

inline bool is_synchronised() const

function is_silenced

inline bool is_silenced() const

function resume_mode

inline bool resume_mode() const

function MPI_mode

inline bool MPI_mode() const

function get_head_position

inline unsigned int get_head_position() const

function VertexBufferBase

inline VertexBufferBase()

function VertexBufferBase

inline VertexBufferBase(
    const std::string & l,
    const int vID,
    const uint i,
    const bool sync,
    const bool sil,
    const bool r,
    const bool mode,
    const char a
)

function ~VertexBufferBase

inline virtual ~VertexBufferBase()

function get_vertexID

inline int get_vertexID() const

function get_index

inline uint get_index() const

function get_label

inline std::string get_label() const

function MPImode_only

inline void MPImode_only(
    std::string local_info
)

MPI mode error Put in functions which should not run if MPImode=false

function dset_head_pos

virtual unsigned long dset_head_pos() =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D_HDF5::dset_head_pos, Gambit::Printers::VertexBufferNumeric1D::dset_head_pos, Gambit::Printers::VertexBufferNumeric1D::dset_head_pos

function sync_report

virtual void sync_report() =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D_HDF5::sync_report

function flush

virtual void flush() =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D::flush, Gambit::Printers::VertexBufferNumeric1D::flush

function RA_flush

virtual void RA_flush(
    const std::map< PPIDpair, ulong > & PPID_to_dsetindex
) =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D::RA_flush, Gambit::Printers::VertexBufferNumeric1D::RA_flush

function finalise

virtual void finalise() =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D_HDF5::finalise

function postponed_RA_queue_length

virtual std::size_t postponed_RA_queue_length() =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D_HDF5::postponed_RA_queue_length

function get_RA_queue_length

virtual uint get_RA_queue_length() =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D::get_RA_queue_length, Gambit::Printers::VertexBufferNumeric1D::get_RA_queue_length

function reset

virtual void reset(
    bool force =false
) =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D_HDF5::reset

function skip_append

virtual void skip_append() =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D::skip_append, Gambit::Printers::VertexBufferNumeric1D::skip_append

function N_skip_append

virtual void N_skip_append(
    ulong N
) =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D::N_skip_append, Gambit::Printers::VertexBufferNumeric1D::N_skip_append

Skip several/many positions NOTE! This is meant for initialising new buffers to the correct position. If buffer overflows it may get cleared without data being written, so don’t use this in other contexts.

function get_dataset_length

virtual ulong get_dataset_length() =0

Reimplemented by: Gambit::Printers::VertexBufferNumeric1D_HDF5::get_dataset_length

function donepoint

inline bool donepoint()

function set_donepoint

inline void set_donepoint(
    bool flag
)

function move_head_to_next_slot

inline void move_head_to_next_slot()

function fast_forward

inline void fast_forward(
    long target_pos
)

function reset_head

inline void reset_head()

function error_if_done

inline void error_if_done()

function synchronise_output_to_position

virtual void synchronise_output_to_position(
    const unsigned long i
) =0

Protected Attributes Documentation

variable sync_buffer_full

bool sync_buffer_full = false;

flag to indicate if the sync buffer is full (and ready for sending/dumping)

variable sync_buffer_empty

bool sync_buffer_empty = true;

Updated on 2023-06-26 at 21:36:52 +0000