YARP
Yet Another Robot Platform
 
Loading...
Searching...
No Matches
yarp::os::ManagedBytes Class Reference

An abstraction for a block of bytes, with optional responsibility for allocating/destroying that block. More...

#include <yarp/os/ManagedBytes.h>

+ Inheritance diagram for yarp::os::ManagedBytes:

Public Member Functions

 ManagedBytes ()
 Constructor.
 
 ManagedBytes (size_t len)
 Constructor.
 
 ManagedBytes (const Bytes &ext, bool owned=false)
 Constructor.
 
 ManagedBytes (ManagedBytes &&other) noexcept
 Move constructor.
 
ManagedBytesoperator= (ManagedBytes &&other) noexcept
 Move assignment operator.
 
 ManagedBytes (const ManagedBytes &alt)
 Copy constructor.
 
const ManagedBytesoperator= (const ManagedBytes &alt)
 Assignment operator.
 
virtual ~ManagedBytes ()
 Destructor.
 
void allocate (size_t len)
 Makes a data block of the specified length that will be deleted if this object is destroyed.
 
bool allocateOnNeed (size_t neededLen, size_t allocateLen)
 
void copy ()
 Makes sure data block is owned, making a copy if necessary.
 
size_t length () const
 
size_t used () const
 
const charget () const
 
charget ()
 
void clear ()
 Disassociate object with any data block (deleting block if appropriate).
 
const Bytesbytes () const
 
Bytesbytes ()
 
Bytes usedBytes ()
 
size_t setUsed (size_t used)
 explicitly declare how many of the bytes are in use.
 
size_t resetUsed ()
 
bool read (ConnectionReader &reader) override
 Read this object from a network connection.
 
bool write (ConnectionWriter &writer) const override
 Write this object to a network connection.
 
bool isOwner () const
 
- Public Member Functions inherited from yarp::os::Portable
virtual Type getType () const
 
- Public Member Functions inherited from yarp::os::PortReader
virtual ~PortReader ()
 Destructor.
 
virtual Type getReadType () const
 
- Public Member Functions inherited from yarp::os::PortWriter
virtual ~PortWriter ()
 Destructor.
 
virtual void onCompletion () const
 This is called when the port has finished all writing operations.
 
virtual void onCommencement () const
 This is called when the port is about to begin writing operations.
 
virtual yarp::os::Type getWriteType () const
 

Additional Inherited Members

- Static Public Member Functions inherited from yarp::os::Portable
static bool copyPortable (const PortWriter &writer, PortReader &reader)
 Copy one portable to another, via writing and reading.
 

Detailed Description

An abstraction for a block of bytes, with optional responsibility for allocating/destroying that block.

Definition at line 20 of file ManagedBytes.h.

Constructor & Destructor Documentation

◆ ManagedBytes() [1/5]

ManagedBytes::ManagedBytes ( )
explicit

Constructor.

No data present.

Definition at line 18 of file ManagedBytes.cpp.

◆ ManagedBytes() [2/5]

ManagedBytes::ManagedBytes ( size_t  len)
explicit

Constructor.

Makes a data block of the specified length that will be deleted if this object is destroyed.

Parameters
lenlength of data block

Definition at line 27 of file ManagedBytes.cpp.

◆ ManagedBytes() [3/5]

ManagedBytes::ManagedBytes ( const Bytes ext,
bool  owned = false 
)

Constructor.

Represent external data.

Parameters
extaddress and length of data
ownedtrue if data should be deleted if this object is destroyed

Definition at line 36 of file ManagedBytes.cpp.

◆ ManagedBytes() [4/5]

ManagedBytes::ManagedBytes ( ManagedBytes &&  other)
noexcept

Move constructor.

Parameters
otherthe ManagedBytes to be moved

Definition at line 67 of file ManagedBytes.cpp.

◆ ManagedBytes() [5/5]

ManagedBytes::ManagedBytes ( const ManagedBytes alt)

Copy constructor.

Parameters
altthe data to copy. If it is "owned" an independent copy is made.

Definition at line 45 of file ManagedBytes.cpp.

◆ ~ManagedBytes()

ManagedBytes::~ManagedBytes ( )
virtual

Destructor.

Definition at line 96 of file ManagedBytes.cpp.

Member Function Documentation

◆ allocate()

void ManagedBytes::allocate ( size_t  len)

Makes a data block of the specified length that will be deleted if this object is destroyed.

Parameters
lenlength of data block

Definition at line 102 of file ManagedBytes.cpp.

◆ allocateOnNeed()

bool ManagedBytes::allocateOnNeed ( size_t  neededLen,
size_t  allocateLen 
)

Definition at line 112 of file ManagedBytes.cpp.

◆ bytes() [1/2]

Bytes & ManagedBytes::bytes ( )
Returns
description of data block associated with this object

Definition at line 179 of file ManagedBytes.cpp.

◆ bytes() [2/2]

const Bytes & ManagedBytes::bytes ( ) const
Returns
description of data block associated with this object (const version)

Definition at line 174 of file ManagedBytes.cpp.

◆ clear()

void ManagedBytes::clear ( )

Disassociate object with any data block (deleting block if appropriate).

Definition at line 161 of file ManagedBytes.cpp.

◆ copy()

void ManagedBytes::copy ( )

Makes sure data block is owned, making a copy if necessary.

Definition at line 129 of file ManagedBytes.cpp.

◆ get() [1/2]

char * ManagedBytes::get ( )
Returns
address of data block

Definition at line 156 of file ManagedBytes.cpp.

◆ get() [2/2]

const char * ManagedBytes::get ( ) const
Returns
address of data block (const version)

Definition at line 151 of file ManagedBytes.cpp.

◆ isOwner()

bool yarp::os::ManagedBytes::isOwner ( ) const
inline
Returns
true iff the managed data block is owned by this object

Definition at line 157 of file ManagedBytes.h.

◆ length()

size_t ManagedBytes::length ( ) const
Returns
length of data block

Definition at line 141 of file ManagedBytes.cpp.

◆ operator=() [1/2]

const ManagedBytes & ManagedBytes::operator= ( const ManagedBytes alt)

Assignment operator.

Parameters
altthe data to copy. If it is "owned" an independent copy is made.
Returns
this object

Definition at line 81 of file ManagedBytes.cpp.

◆ operator=() [2/2]

ManagedBytes & ManagedBytes::operator= ( ManagedBytes &&  other)
noexcept

Move assignment operator.

Parameters
otherthe MangedBytes to be moved
Returns
this object

Definition at line 72 of file ManagedBytes.cpp.

◆ read()

bool ManagedBytes::read ( ConnectionReader reader)
overridevirtual

Read this object from a network connection.

Override this for your particular class.

Parameters
readeran interface to the network connection for reading
Returns
true iff the object is successfully read

Implements yarp::os::Portable.

Definition at line 204 of file ManagedBytes.cpp.

◆ resetUsed()

size_t ManagedBytes::resetUsed ( )

Definition at line 196 of file ManagedBytes.cpp.

◆ setUsed()

size_t ManagedBytes::setUsed ( size_t  used)

explicitly declare how many of the bytes are in use.

Parameters
usedbyte count
Returns
a confirmation of the number of bytes declared to be in use.

Definition at line 189 of file ManagedBytes.cpp.

◆ used()

size_t ManagedBytes::used ( ) const
Returns
length of used portion of data block - by default, this is the same as length(), unless setUsed() is called

Definition at line 146 of file ManagedBytes.cpp.

◆ usedBytes()

Bytes ManagedBytes::usedBytes ( )
Returns
description of used portion of data block associated with this object

Definition at line 184 of file ManagedBytes.cpp.

◆ write()

bool ManagedBytes::write ( ConnectionWriter writer) const
overridevirtual

Write this object to a network connection.

Override this for your particular class. Be aware that depending on the nature of the connections a port has, and what protocol they use, and how efficient the YARP implementation is, this method may be called once, twice, or many times, as the result of a single call to Port::write

Parameters
writeran interface to the network connection for writing
Returns
true iff the object is successfully written

Implements yarp::os::Portable.

Definition at line 226 of file ManagedBytes.cpp.


The documentation for this class was generated from the following files: