/** * 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 functional * @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 FUNCTIONAL_H #define FUNCTIONAL_H #include namespace std { // base (deprecated): template struct unary_function; template struct binary_function; // reference_wrapper: template class reference_wrapper; // arithmetic operations: template struct plus; template struct minus; template struct multiplies; template struct divides; template struct modulus; template struct negate; // comparisons: template struct equal_to; template struct not_equal_to; template struct greater; template struct less; template struct greater_equal; template struct less_equal; // logical operations: template struct logical_and; template struct logical_or; template struct logical_not; // bitwise operations: template struct bit_and; template struct bit_or; template struct bit_xor; // negators: template class unary_negate; template class binary_negate; // bind: template struct is_bind_expression; template struct is_placeholder; namespace placeholders { // M is the implementation-defined number of placeholders // (8 should be enough for interrogate) extern char _1; extern char _2; extern char _3; extern char _4; extern char _5; extern char _6; extern char _7; extern char _8; } // binders (deprecated): template class binder1st; template class binder2nd; // adaptors (deprecated): template class pointer_to_unary_function; template class pointer_to_binary_function; // adaptors (deprecated): template class mem_fun_t; template class mem_fun1_t; template class mem_fun_ref_t; template class mem_fun1_ref_t; template class const_mem_fun_t; template class const_mem_fun1_t; template class const_mem_fun_ref_t; template class const_mem_fun1_ref_t; // polymorphic function wrappers: class bad_function_call; // hash function base template: template struct hash; // Hash function specializations template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template <> struct hash; template struct hash; template class reference_wrapper { public : // types typedef T type; typedef void result_type; // not always defined typedef void argument_type; // not always defined typedef void first_argument_type; // not always defined typedef void second_argument_type; // not always defined }; template struct is_bind_expression {}; // : integral_constant {}; class bad_function_call : public std::exception {}; // template class function; // undefined template< class R, class... ArgTypes > class function { public: typedef R result_type; }; } #endif