diff options
Diffstat (limited to '')
-rw-r--r-- | ml/dlib/examples/std_allocator_ex.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/ml/dlib/examples/std_allocator_ex.cpp b/ml/dlib/examples/std_allocator_ex.cpp deleted file mode 100644 index 0dc583fa0..000000000 --- a/ml/dlib/examples/std_allocator_ex.cpp +++ /dev/null @@ -1,57 +0,0 @@ -// The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt -/* - This is an example illustrating the use of the dlib::std_allocator object. - - In this example we will create the necessary typedefs to give the - dlib::std_allocator object to the standard string and vector objects - in the STL. Thus we will create versions of std::string and std::vector - that perform all their memory allocations and deallocations via one of - the dlib memory manager objects. -*/ - - -// include everything we need for this example -#include <vector> -#include <iostream> -#include <string> -#include <dlib/std_allocator.h> -#include <dlib/memory_manager.h> -#include <dlib/memory_manager_stateless.h> - -using namespace std; -using namespace dlib; - - -int main() -{ - // Make a typedef for an allocator that uses the thread safe memory_manager_stateless object with a - // global memory pool. This version of the memory_manager_stateless object keeps everything it allocates - // in a global memory pool and doesn't release any memory until the program terminates. - typedef std_allocator<char, memory_manager_stateless<char>::kernel_2_3a> alloc_char_with_global_memory_pool; - - // Now make a typedef for a C++ standard string that uses our new allocator type - typedef std::basic_string<char, char_traits<char>, alloc_char_with_global_memory_pool > dstring; - - - // typedef another allocator for dstring objects - typedef std_allocator<dstring, memory_manager_stateless<char>::kernel_2_3a> alloc_dstring_with_global_memory_pool; - - // Now make a typedef for a C++ standard vector that uses our new allocator type and also contains the new dstring - typedef std::vector<dstring, alloc_dstring_with_global_memory_pool > dvector; - - // Now we can use the string and vector we have as we normally would. So for example, I can make a - // dvector and add 4 strings into it like so: - dvector v; - v.push_back("one"); - v.push_back("two"); - v.push_back("three"); - v.push_back("four"); - - // And now we print out the contents of our vector - for (unsigned long i = 0; i < v.size(); ++i) - { - cout << v[i] << endl; - } - -} - |