allocator: No such file or directory

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • * Tong *

    allocator: No such file or directory

    Hi,

    I'm following the example in "C++ Templates: The Complete Guide",
    section 5.4 Template Template Parameters.

    It's basics/stack8.hpp example has a statement of "#include <allocator>",
    but I got an error for it.

    $ cat -n allocator.cc
    1 #include <allocator>
    2
    3 template< typename ALLOC = std::allocator< ELEM2
    4 class c {};
    5
    6 template <typename T,
    7 template <typename ELEM,
    8 typename ALLOC = std::allocator< ELEM
    9 class CONT = std::deque>
    10 class Stack {
    11 }
    12
    13 int main()
    14 {
    15 }

    $ g++ -g allocator.cc -o allocator
    allocator.cc:1: 23: error: allocator: No such file or directory
    [...]

    How to fix the above allocator.cc so that it compiles fine?

    Thanks.

    FYI, why template template:

    5.4 Template Template Parameters

    It can be useful to allow a template parameter itself to be a class
    template. Again, our stack class template can be used as an example. To
    use a different internal container for stacks, the application programmer
    has to specify the element type twice. Thus, to specify the type of the
    internal container, you have to pass the type of the container and the
    type of its elements again:

    Stack<int,std:: vector<int vStack; // integer stack that uses a vector

    Using template template parameters allows you to declare the Stack class
    template by specifying the type of the container without respecifying the
    type of its elements:

    stack<int,std:: vectorvStack; // integer stack that uses a vector

    To do this you must specify the second template parameter as a template
    template parameter...
  • * Tong *

    #2
    Re: allocator: No such file or directory

    On Tue, 12 Aug 2008 16:07:20 -0500, * Tong * wrote:
    Hi,
    >
    I'm following the example in "C++ Templates: The Complete Guide",
    section 5.4 Template Template Parameters.
    >
    It's basics/stack8.hpp example has a statement of "#include <allocator>",
    but I got an error for it.
    >
    $ cat -n allocator.cc
    1 #include <allocator>
    2
    3 template< typename ALLOC = std::allocator< ELEM2
    4 class c {};
    5
    6 template <typename T,
    7 template <typename ELEM,
    8 typename ALLOC = std::allocator< ELEM
    9 class CONT = std::deque>
    10 class Stack {
    11 }
    12
    13 int main()
    14 {
    15 }
    >
    $ g++ -g allocator.cc -o allocator
    allocator.cc:1: 23: error: allocator: No such file or directory
    [...]
    >
    How to fix the above allocator.cc so that it compiles fine?
    >
    Thanks.
    My g++:

    $ g++ --version
    g++ (GCC) 4.2.3 (Debian 4.2.3-1)
    FYI, why template template:
    >
    5.4 Template Template Parameters
    >
    It can be useful to allow a template parameter itself to be a class
    template. Again, our stack class template can be used as an example. To
    use a different internal container for stacks, the application programmer
    has to specify the element type twice. Thus, to specify the type of the
    internal container, you have to pass the type of the container and the
    type of its elements again:
    >
    Stack<int,std:: vector<int vStack; // integer stack that uses a vector
    >
    Using template template parameters allows you to declare the Stack class
    template by specifying the type of the container without respecifying the
    type of its elements:
    >
    stack<int,std:: vectorvStack; // integer stack that uses a vector
    >
    To do this you must specify the second template parameter as a template
    template parameter...

    Comment

    • mlimber

      #3
      Re: allocator: No such file or directory

      On Aug 12, 5:07 pm, * Tong * <sun_tong_...@u sers.sourceforg e.net>
      wrote:
      Hi,
      >
      I'm following the example in "C++ Templates: The Complete Guide",
      section 5.4 Template Template Parameters.
      >
      It's basics/stack8.hpp example has a statement of "#include <allocator>",
      but I got an error for it.
      [snip]
      allocator.cc:1: 23: error: allocator: No such file or directory
      [...]
      >
      How to fix the above allocator.cc so that it compiles fine?
      Use <memoryinstea d.

      Cheers! --M

      Comment

      Working...