Vector base class. More...

#include <Urho3D/Container/VectorBase.h>

Inherited by Urho3D::PODVector< bool >, Urho3D::PODVector< const Urho3D::SourceBatch2D *>, Urho3D::PODVector< float >, Urho3D::PODVector< int >, Urho3D::PODVector< PrimitiveType >, Urho3D::PODVector< unsigned >, Urho3D::PODVector< unsigned char >, Urho3D::PODVector< unsigned short >, Urho3D::PODVector< Urho3D::Batch *>, Urho3D::PODVector< Urho3D::Batch >, Urho3D::PODVector< Urho3D::BatchGroup *>, Urho3D::PODVector< Urho3D::Billboard >, Urho3D::PODVector< Urho3D::Camera *>, Urho3D::PODVector< Urho3D::CharLocation >, Urho3D::PODVector< Urho3D::CollisionShape *>, Urho3D::PODVector< Urho3D::Component *>, Urho3D::PODVector< Urho3D::ConstantBuffer *>, Urho3D::PODVector< Urho3D::Constraint *>, Urho3D::PODVector< Urho3D::DebugLine >, Urho3D::PODVector< Urho3D::DebugTriangle >, Urho3D::PODVector< Urho3D::DecalVertex >, Urho3D::PODVector< Urho3D::Drawable *>, Urho3D::PODVector< Urho3D::Drawable2D *>, Urho3D::PODVector< Urho3D::GPUObject *>, Urho3D::PODVector< Urho3D::HashMap *>, Urho3D::PODVector< Urho3D::IKConstraint *>, Urho3D::PODVector< Urho3D::IKEffector *>, Urho3D::PODVector< Urho3D::InstanceData >, Urho3D::PODVector< Urho3D::IntRect >, Urho3D::PODVector< Urho3D::IntVector2 >, Urho3D::PODVector< Urho3D::Light *>, Urho3D::PODVector< Urho3D::Matrix3x4 >, Urho3D::PODVector< Urho3D::NavAreaStub >, Urho3D::PODVector< Urho3D::Node *>, Urho3D::PODVector< Urho3D::Object *>, Urho3D::PODVector< Urho3D::OcclusionBatch >, Urho3D::PODVector< Urho3D::Pair< unsigned, unsigned > >, Urho3D::PODVector< Urho3D::Particle >, Urho3D::PODVector< Urho3D::PhysicsRaycastResult2D >, Urho3D::PODVector< Urho3D::ProfilerBlock *>, Urho3D::PODVector< Urho3D::RayQueryResult >, Urho3D::PODVector< Urho3D::ReplicationState *>, Urho3D::PODVector< Urho3D::RigidBody *>, Urho3D::PODVector< Urho3D::RigidBody2D *>, Urho3D::PODVector< Urho3D::ScenePassInfo >, Urho3D::PODVector< Urho3D::SoundSource *>, Urho3D::PODVector< Urho3D::Spriter::Animation *>, Urho3D::PODVector< Urho3D::Spriter::CharacterMap *>, Urho3D::PODVector< Urho3D::Spriter::Entity *>, Urho3D::PODVector< Urho3D::Spriter::File *>, Urho3D::PODVector< Urho3D::Spriter::Folder *>, Urho3D::PODVector< Urho3D::Spriter::MainlineKey *>, Urho3D::PODVector< Urho3D::Spriter::MapInstruction *>, Urho3D::PODVector< Urho3D::Spriter::Ref *>, Urho3D::PODVector< Urho3D::Spriter::SpatialTimelineKey *>, Urho3D::PODVector< Urho3D::Spriter::Timeline *>, Urho3D::PODVector< Urho3D::StaticModelGeometryData >, Urho3D::PODVector< Urho3D::TrailPoint >, Urho3D::PODVector< Urho3D::UIBatch >, Urho3D::PODVector< Urho3D::UIElement *>, Urho3D::PODVector< Urho3D::Vector2 >, Urho3D::PODVector< Urho3D::Vector3 >, Urho3D::PODVector< Urho3D::VertexElement >, Urho3D::PODVector< Urho3D::Zone *>, Urho3D::PODVector< T >, Urho3D::Vector< T >, Urho3D::Vector< asIScriptContext *>, Urho3D::Vector< float >, Urho3D::Vector< String >, Urho3D::Vector< Urho3D::AnimationControl >, Urho3D::Vector< Urho3D::AnimationKeyFrame >, Urho3D::Vector< Urho3D::AnimationStateTrack >, Urho3D::Vector< Urho3D::AnimationTriggerPoint >, Urho3D::Vector< Urho3D::AttributeInfo >, Urho3D::Vector< Urho3D::Billboard *>, Urho3D::Vector< Urho3D::Bone >, Urho3D::Vector< Urho3D::ColorFrame >, Urho3D::Vector< Urho3D::DelayedCall >, Urho3D::Vector< Urho3D::FileSelectorEntry >, Urho3D::Vector< Urho3D::IndexBufferDesc >, Urho3D::Vector< Urho3D::LightBatchQueue >, Urho3D::Vector< Urho3D::LightQueryResult >, Urho3D::Vector< Urho3D::ModelMorph >, Urho3D::Vector< Urho3D::Node *>, Urho3D::Vector< Urho3D::OcclusionBufferData >, Urho3D::Vector< Urho3D::Pair< int, Urho3D::String > >, Urho3D::Vector< Urho3D::Pair< Urho3D::String, CubeMapFace > >, Urho3D::Vector< Urho3D::Pair< Urho3D::WeakPtr< Urho3D::RenderSurface >, Urho3D::WeakPtr< Urho3D::Viewport > > >, Urho3D::Vector< Urho3D::Particle2D >, Urho3D::Vector< Urho3D::PerThreadSceneResult >, Urho3D::Vector< Urho3D::PhysicsWorld2D::ContactInfo >, Urho3D::Vector< Urho3D::PODVector< unsigned > >, Urho3D::Vector< Urho3D::PODVector< Urho3D::CustomGeometryVertex > >, Urho3D::Vector< Urho3D::PODVector< Urho3D::Drawable *> >, Urho3D::Vector< Urho3D::PODVector< Urho3D::GeometryDesc > >, Urho3D::Vector< Urho3D::PODVector< Urho3D::GlyphLocation > >, Urho3D::Vector< Urho3D::PODVector< Urho3D::Matrix3x4 *> >, Urho3D::Vector< Urho3D::PODVector< Urho3D::Matrix3x4 > >, Urho3D::Vector< Urho3D::PODVector< Urho3D::Vector3 > >, Urho3D::Vector< Urho3D::Quaternion >, Urho3D::Vector< Urho3D::RemoteEvent >, Urho3D::Vector< Urho3D::RenderPathCommand >, Urho3D::Vector< Urho3D::RenderTargetInfo >, Urho3D::Vector< Urho3D::ScratchBuffer >, Urho3D::Vector< Urho3D::ShadowBatchQueue >, Urho3D::Vector< Urho3D::SharedArrayPtr< unsigned char > >, Urho3D::Vector< Urho3D::SharedArrayPtr< Urho3D::DepthValue > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::AnimationState > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::Component > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::DbConnection > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::FileWatcher > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::Geometry > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::Image > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::IndexBuffer > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::Material > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::Node > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::OcclusionBuffer > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::PackageFile > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::Pass > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::ResourceRouter > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::ShaderVariation > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::Texture2D > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::Tile2D > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::TileMapObject2D > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::UIElement > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::VertexBuffer > >, Urho3D::Vector< Urho3D::SharedPtr< Urho3D::Viewport > >, Urho3D::Vector< Urho3D::SharedPtr< WorkerThread > >, Urho3D::Vector< Urho3D::SourceBatch >, Urho3D::Vector< Urho3D::SourceBatch2D >, Urho3D::Vector< Urho3D::String >, Urho3D::Vector< Urho3D::TechniqueEntry >, Urho3D::Vector< Urho3D::TextureFrame >, Urho3D::Vector< Urho3D::TmxLayer2D *>, Urho3D::Vector< Urho3D::TrailPoint *>, Urho3D::Vector< Urho3D::UIElement *>, Urho3D::Vector< Urho3D::VAnimEventFrame >, Urho3D::Vector< Urho3D::VAnimKeyFrame >, Urho3D::Vector< Urho3D::Variant >, Urho3D::Vector< Urho3D::Vector >, Urho3D::Vector< Urho3D::Vector2 >, Urho3D::Vector< Urho3D::Vector< Urho3D::SharedPtr< Urho3D::Geometry > > >, Urho3D::Vector< Urho3D::Vertex2D >, Urho3D::Vector< Urho3D::VertexBufferDesc >, Urho3D::Vector< Urho3D::WeakPtr< Urho3D::CollisionShape2D > >, Urho3D::Vector< Urho3D::WeakPtr< Urho3D::Component > >, Urho3D::Vector< Urho3D::WeakPtr< Urho3D::Constraint2D > >, Urho3D::Vector< Urho3D::WeakPtr< Urho3D::NavArea > >, Urho3D::Vector< Urho3D::WeakPtr< Urho3D::Node > >, Urho3D::Vector< Urho3D::WeakPtr< Urho3D::RigidBody2D > >, Urho3D::Vector< Urho3D::WeakPtr< Urho3D::TerrainPatch > >, Urho3D::Vector< Urho3D::WeakPtr< Urho3D::TileMapLayer2D > >, Urho3D::Vector< Urho3D::WeakPtr< Urho3D::View > >, and Urho3D::Vector< Variant >.

Public Member Functions

 VectorBase () noexcept
 Construct.
 
void Swap (VectorBase &rhs)
 Swap with another vector.
 

Static Protected Member Functions

static unsigned char * AllocateBuffer (unsigned size)
 

Protected Attributes

unsigned size_
 Size of vector.
 
unsigned capacity_
 Buffer capacity.
 
unsigned char * buffer_
 Buffer.
 

Detailed Description

Vector base class.

Note that to prevent extra memory use due to vtable pointer, VectorBase intentionally does not declare a virtual destructor and therefore VectorBase pointers should never be used.


The documentation for this class was generated from the following files:
  • Source/Urho3D/Container/VectorBase.h
  • Source/Urho3D/Container/VectorBase.cpp