ScummVM API documentation
Sci::SciSpanImpl< ValueType, Derived > Class Template Reference

#include <util.h>

Inheritance diagram for Sci::SciSpanImpl< ValueType, Derived >:
Common::NamedSpanImpl< ValueType, Derived > Common::SpanImpl< ValueType, Derived > Common::SpanBase< ValueType, Derived > Common::SafeBool< Derived< ValueType > > Common::impl::no_base< Derived< ValueType > >

Public Types

typedef super_type::value_type value_type
 
typedef super_type::difference_type difference_type
 
typedef super_type::index_type index_type
 
typedef super_type::size_type size_type
 
typedef SciSpanInternal::SciSpanIterator< derived_type, true > const_iterator
 
typedef SciSpanInternal::SciSpanIterator< derived_type, false > iterator
 
typedef super_type::pointer pointer
 
typedef super_type::const_pointer const_pointer
 
typedef super_type::reference reference
 
typedef super_type::const_reference const_reference
 
- Public Types inherited from Common::NamedSpanImpl< ValueType, Derived >
typedef super_type::value_type value_type
 
typedef super_type::difference_type difference_type
 
typedef super_type::index_type index_type
 
typedef super_type::size_type size_type
 
typedef super_type::const_iterator const_iterator
 
typedef super_type::iterator iterator
 
typedef super_type::pointer pointer
 
typedef super_type::const_pointer const_pointer
 
typedef super_type::reference reference
 
typedef super_type::const_reference const_reference
 
- Public Types inherited from Common::SpanImpl< ValueType, Derived >
typedef super_type::value_type value_type
 
typedef super_type::difference_type difference_type
 
typedef super_type::index_type index_type
 
typedef super_type::size_type size_type
 
typedef super_type::const_iterator const_iterator
 
typedef super_type::iterator iterator
 
typedef super_type::pointer pointer
 
typedef super_type::const_pointer const_pointer
 
typedef super_type::reference reference
 
typedef super_type::const_reference const_reference
 
- Public Types inherited from Common::SpanBase< ValueType, Derived >
typedef ValueType value_type
 
typedef int32 difference_type
 
typedef uint32 index_type
 
typedef uint32 size_type
 
typedef SpanInternal::SpanIterator< derived_type, true > const_iterator
 
typedef SpanInternal::SpanIterator< derived_type, false > iterator
 
typedef value_type * pointer
 
typedef const value_type * const_pointer
 
typedef value_type & reference
 
typedef const value_type & const_reference
 

Public Member Functions

 SciSpanImpl (const pointer data_, const size_type size_, const Common::String &name_=Common::String(), const size_type sourceByteOffset_=0)
 
template<typename Other >
 SciSpanImpl (const Other &other)
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
int16 getInt16SEAt (const size_type index) const
 
uint16 getUint16SEAt (const size_type index) const
 
uint16 getUint16SE32At (const size_type index) const
 
int32 getInt32SEAt (const size_type index) const
 
uint32 getUint32SEAt (const size_type index) const
 
void setUint16SEAt (const size_type index, uint16 value)
 
void setUint32SEAt (const size_type index, uint32 value)
 
const_reference operator* () const
 
reference operator* ()
 
mutable_derived_type & operator+= (const difference_type delta)
 
mutable_derived_type & operator++ ()
 
mutable_derived_type operator++ (int)
 
mutable_derived_type operator+ (const difference_type delta) const
 
- Public Member Functions inherited from Common::NamedSpanImpl< ValueType, Derived >
 NamedSpanImpl (const pointer data_, const size_type size_, const String &name_=String(), const size_type sourceByteOffset_=0)
 
template<typename Other >
 NamedSpanImpl (const Other &other)
 
void clear ()
 
const Stringname () const
 
Stringname ()
 
const size_type & sourceByteOffset () const
 
size_type & sourceByteOffset ()
 
template<typename NewValueType >
const Derived< NewValueType > subspan (const index_type index, const size_type numEntries=kSpanMaxSize, const String &name_=String(), const size_type sourceByteOffset_=kSpanKeepOffset) const
 
template<typename NewValueType >
Derived< NewValueType > subspan (const index_type index, const size_type numEntries=kSpanMaxSize, const String &name_=String(), const size_type sourceByteOffset_=kSpanKeepOffset)
 
const_derived_type subspan (const index_type index, const size_type numEntries=kSpanMaxSize, const String &name_=String(), const size_type sourceByteOffset_=kSpanKeepOffset) const
 
mutable_derived_type subspan (const index_type index, const size_type numEntries=kSpanMaxSize, const String &name_=String(), const size_type sourceByteOffset_=kSpanKeepOffset)
 
String getValidationMessage (const index_type index, const difference_type deltaInBytes, const SpanValidationMode mode) const
 
mutable_value_derived_type & allocate (const size_type numEntries, const String &name_=String())
 
template<typename OtherValueType >
mutable_value_derived_type & allocateFromSpan (const NamedSpanImpl< OtherValueType, Derived > &other)
 
template<typename OtherValueType , template< typename > class OtherDerived>
mutable_value_derived_type & allocateFromSpan (const SpanImpl< OtherValueType, OtherDerived > &other)
 
mutable_value_derived_type & allocateFromStream (SeekableReadStream &stream, size_type numEntries=kSpanMaxSize, const String &name_=String())
 
mutable_value_derived_type & allocateFromStream (File &file, const size_type numEntries=kSpanMaxSize)
 
- Public Member Functions inherited from Common::SpanImpl< ValueType, Derived >
 SpanImpl (const pointer data_, const size_type size_)
 
template<typename Other >
 SpanImpl (const Other &other)
 
void clear ()
 
size_type size () const
 
pointer data () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
const String name () const
 
String getValidationMessage (const index_type index, const difference_type deltaInBytes, const SpanValidationMode mode) const
 
template<typename NewValueType >
const Derived< NewValueType > subspan (const index_type index, size_type numEntries=kSpanMaxSize) const
 
template<typename NewValueType >
Derived< NewValueType > subspan (const index_type index, size_type numEntries=kSpanMaxSize)
 
const_derived_type subspan (const index_type index, const size_type numEntries=kSpanMaxSize) const
 
mutable_derived_type subspan (const index_type index, const size_type numEntries=kSpanMaxSize)
 
mutable_value_derived_type & allocate (const size_type numEntries)
 
template<typename Other >
mutable_value_derived_type & allocateFromSpan (const Other &other)
 
mutable_value_derived_type & allocateFromStream (SeekableReadStream &stream, size_type numEntries=kSpanMaxSize)
 
- Public Member Functions inherited from Common::SpanBase< ValueType, Derived >
size_type byteSize () const
 
const_reference operator[] (const index_type index) const
 
reference operator[] (const index_type index)
 
int8 getInt8At (const index_type index) const
 
uint8 getUint8At (const index_type index) const
 
int16 getInt16BEAt (const index_type index) const
 
int16 getInt16LEAt (const index_type index) const
 
uint16 getUint16BEAt (const index_type index) const
 
uint16 getUint16LEAt (const index_type index) const
 
uint32 getUint24LEAt (const index_type index) const
 
uint32 getUint32At (const index_type index) const
 
int32 getInt32BEAt (const index_type index) const
 
int32 getInt32LEAt (const index_type index) const
 
uint32 getUint32BEAt (const index_type index) const
 
uint32 getUint32LEAt (const index_type index) const
 
String getStringAt (const index_type index, size_type numEntries=kSpanMaxSize) const
 
const_pointer getUnsafeDataAt (const index_type index, size_type numEntries=kSpanMaxSize) const
 
pointer getUnsafeDataAt (const index_type index, size_type numEntries=kSpanMaxSize)
 
MemoryReadStream toStream (const index_type index=0, size_type numEntries=kSpanMaxSize) const
 
template<typename Other >
bool operator== (const Other &other) const
 
template<typename Other >
bool operator!= (const Other &other) const
 
template<typename Other >
difference_type operator- (const Other &other) const
 
template<typename Other >
bool operator< (const Other &other) const
 
template<typename Other >
bool operator<= (const Other &other) const
 
template<typename Other >
bool operator> (const Other &other) const
 
template<typename Other >
bool operator>= (const Other &other) const
 
void unsafeCopyDataTo (void *target) const
 
template<typename Other >
void copyDataTo (Other &target) const
 
- Public Member Functions inherited from Common::SafeBool< Derived< ValueType > >
 operator bool_type () const
 
 operator bool_type ()
 

Additional Inherited Members

- Public Attributes inherited from Common::SpanImpl< ValueType, Derived >
value_type * _data
 
size_type _size
 
- Protected Member Functions inherited from Common::NamedSpanImpl< ValueType, Derived >
template<typename NewValueType >
void populateSubspan (Derived< NewValueType > &span, const index_type index, size_type numEntries, const String &name_, const size_type sourceByteOffset_=kSpanKeepOffset) const
 
- Protected Member Functions inherited from Common::SpanImpl< ValueType, Derived >
template<typename NewValueType >
void populateSubspan (Derived< NewValueType > &span, const index_type index, size_type numEntries) const
 
- Protected Member Functions inherited from Common::SpanBase< ValueType, Derived >
 SpanBase (const SpanBase &)
 
SpanBaseoperator= (const SpanBase &)
 
const_derived_type & impl () const
 
mutable_derived_type & impl ()
 
void clear ()
 
size_type size () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
pointer data () const
 
bool operator_bool () const
 
bool checkInvalidBounds (const index_type index, const difference_type deltaInBytes) const
 
void validate (const index_type index, const difference_type deltaInBytes, const SpanValidationMode mode=kValidateRead) const
 

Detailed Description

template<typename ValueType, template< typename > class Derived>
class Sci::SciSpanImpl< ValueType, Derived >

Bounds-checked random access into a contiguous block of memory, with extra methods that automatically read and write using the correct endianness for the currently loaded game.


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