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