File: tpl-tpl-merge-2.h

package info (click to toggle)
gcc-arm-none-eabi 15%3A14.2.rel1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,099,328 kB
  • sloc: cpp: 3,627,108; ansic: 2,571,498; ada: 834,230; f90: 235,082; makefile: 79,231; asm: 74,984; xml: 51,692; exp: 39,736; sh: 33,298; objc: 15,629; python: 15,069; fortran: 14,429; pascal: 7,003; awk: 5,070; perl: 3,106; ml: 285; lisp: 253; lex: 204; haskell: 135
file content (65 lines) | stat: -rw-r--r-- 1,481 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
typedef long unsigned int size_t;

template<typename> class allocator;

template<typename _Tp, typename _Up>
struct __replace_first_arg
{ };

template<template<typename, typename...> class _Template, typename _Up,
	 typename _Tp, typename... _Types>
struct __replace_first_arg<_Template<_Tp, _Types...>, _Up>
{
  using type = _Template<_Up, _Types...>;
};

template<typename _Tp, typename _Up>
using __replace_first_arg_t = typename __replace_first_arg<_Tp, _Up>::type;

template<typename _Tp>
class new_allocator
{
public:
  typedef _Tp value_type;
};

template<typename _Tp>
using __allocator_base = new_allocator<_Tp>;

template<typename _Tp>
class allocator : public __allocator_base<_Tp>
{
public:
};

struct __allocator_traits_base
{
  template<typename _Tp, typename _Up, typename = void>
  struct __rebind : __replace_first_arg<_Tp, _Up> { };
};

template<typename _Alloc, typename _Up>
using __alloc_rebind
= typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type;

template<typename _Alloc>
struct allocator_traits : __allocator_traits_base
{
public:
  template<typename _Tp>
  using rebind_alloc = __alloc_rebind<_Alloc, _Tp>;
};

template<typename _Alloc, typename = typename _Alloc::value_type>
struct __alloc_traits

{
  template<typename _Tp>
  struct rebind
  {
    typedef typename allocator_traits<_Alloc>::template rebind_alloc<_Tp> other;
  };
};

typedef typename __alloc_traits<allocator<char>>::template
rebind<char>::other _Char_alloc_type;