source: trunk/nv/stl/array.hh @ 391

Last change on this file since 391 was 391, checked in by epyon, 10 years ago
  • stl/container - vector header support and split between files
  • missing hash_table.cc added
  • minor bugfixes
File size: 1.4 KB
RevLine 
[260]1// Copyright (C) 2014 ChaosForge Ltd
2// http://chaosforge.org/
3//
4// This file is part of NV Libraries.
5// For conditions of distribution and use, see copyright notice in nv.hh
6
7/**
8 * @file array.hh
9 * @author Kornel Kisielewicz epyon@chaosforge.org
10 * @brief exception free array classes
11 */
12
[391]13#ifndef NV_STL_ARRAY_HH
14#define NV_STL_ARRAY_HH
[260]15
[319]16#include <nv/core/common.hh>
[391]17#include <nv/stl/container/contiguous_storage.hh>
18#include <nv/stl/container/contiguous_storage_policy.hh>
19#include <nv/stl/container/fixed_container_handler.hh>
20#include <nv/stl/container/sized_container_handler.hh>
[260]21
22namespace nv
23{
24
[374]25        template< typename T, size_t N >
[383]26        using fixed_static_storage = fixed_storage< static_storage< T, N >, N >;
27
28        template< typename T, size_t N >
29        using fixed_dynamic_storage = fixed_storage< dynamic_storage< T >, N >;
30
31        template< typename T >
32        using resizable_dynamic_storage = resizable_storage< dynamic_storage< T > >;
33
34        template< typename T, size_t N >
35        using resizable_static_storage = resizable_storage< static_storage< T, N > >;
36
37        template< typename T, size_t N >
[391]38        using array =
39                detail::add_random_access <
40                        detail::add_iterators <
41                                fixed_container_handler< fixed_static_storage< T, N > > > >;
42               
[382]43        template< typename T >
[391]44        using dynamic_array =
45                detail::add_random_access <
46                        detail::add_iterators <
47                                sized_container_handler< resizable_dynamic_storage< T > > > >;
[375]48
[260]49}
50
[391]51#endif // NV_STL_ARRAY_HH
Note: See TracBrowser for help on using the repository browser.