85 lines
2.3 KiB
Text
85 lines
2.3 KiB
Text
|
/**
|
||
|
* PANDA 3D SOFTWARE
|
||
|
* Copyright (c) Carnegie Mellon University. All rights reserved.
|
||
|
*
|
||
|
* All use of this software is subject to the terms of the revised BSD
|
||
|
* license. You should have received a copy of this license along
|
||
|
* with this source code in a file named "LICENSE."
|
||
|
*
|
||
|
* @file unordered_set
|
||
|
* @author tobspr
|
||
|
* @date 2016-11-01
|
||
|
*/
|
||
|
|
||
|
// This file, and all the other files in this directory, aren't
|
||
|
// intended to be compiled--they're just parsed by CPPParser (and
|
||
|
// interrogate) in lieu of the actual system headers, to generate the
|
||
|
// interrogate database.
|
||
|
|
||
|
#ifndef UNORDERED_SET_H
|
||
|
#define UNORDERED_SET_H
|
||
|
|
||
|
#include <stdtypedefs.h>
|
||
|
#include <stdcompare.h>
|
||
|
#include <pair>
|
||
|
#include <initializer_list>
|
||
|
#include <functional>
|
||
|
#include <memory>
|
||
|
|
||
|
namespace std {
|
||
|
|
||
|
template <class Key,
|
||
|
class Hash = hash<Key>,
|
||
|
class Pred = std::equal_to<Key>,
|
||
|
class Allocator = std::allocator<Key> >
|
||
|
class unordered_set
|
||
|
{
|
||
|
public:
|
||
|
// types
|
||
|
typedef Key key_type;
|
||
|
typedef Key value_type;
|
||
|
typedef Hash hasher;
|
||
|
typedef Pred key_equal;
|
||
|
typedef Allocator allocator_type;
|
||
|
typedef typename allocator_type::pointer pointer;
|
||
|
typedef typename allocator_type::const_pointer const_pointer;
|
||
|
typedef typename allocator_type::reference reference;
|
||
|
typedef typename allocator_type::const_reference const_reference;
|
||
|
typedef size_t size_type;
|
||
|
typedef std::ptrdiff_t difference_type;
|
||
|
|
||
|
class iterator;
|
||
|
class const_iterator;
|
||
|
class local_iterator;
|
||
|
class const_local_iterator;
|
||
|
};
|
||
|
|
||
|
template <class Key,
|
||
|
class Hash = hash<Key>,
|
||
|
class Pred = std::equal_to<Key>,
|
||
|
class Allocator = std::allocator<Key> >
|
||
|
class unordered_multiset
|
||
|
{
|
||
|
public:
|
||
|
// types
|
||
|
typedef Key key_type;
|
||
|
typedef Key value_type;
|
||
|
typedef Hash hasher;
|
||
|
typedef Pred key_equal;
|
||
|
typedef Allocator allocator_type;
|
||
|
typedef typename allocator_type::pointer pointer;
|
||
|
typedef typename allocator_type::const_pointer const_pointer;
|
||
|
typedef typename allocator_type::reference reference;
|
||
|
typedef typename allocator_type::const_reference const_reference;
|
||
|
typedef size_t size_type;
|
||
|
typedef std::ptrdiff_t difference_type;
|
||
|
class iterator;
|
||
|
class const_iterator;
|
||
|
class local_iterator;
|
||
|
class const_local_iterator;
|
||
|
};
|
||
|
|
||
|
} // namespace std
|
||
|
|
||
|
#endif
|