dlib C++ Library - any_function_impl2.h

// Copyright (C) 2011 Davis E. King (davis@dlib.net)
// License: Boost Software License See LICENSE.txt for the full license.
#ifndef DLIB_ANY_FUNCTION_ARG_LIST
#error "You aren't supposed to directly #include this file. #include <dlib/any.h> instead." 
#endif
#ifdef DLIB_ANY_FUNCTION_ARG_LIST 
// The case where function_type has a non-void return type
 template <typename function_type, typename Enabled>
 class any_function<function_type, Enabled, DLIB_ANY_FUNCTION_NUM_ARGS>
 {
#define DLIB_ANY_FUNCTION_RETURN return
#include "any_function_impl.h"
#undef DLIB_ANY_FUNCTION_RETURN
 private:
 // You get a compiler error about this function being private if you try to assign
 // or copy between any_functions with different types. You must only copy between
 // any_functions that represent functions with the same signature.
 template <typename T, typename U> any_function(const any_function<T,U>&);
 };
// The case where function_type has a void return type
 template <typename function_type>
 class any_function<function_type, typename sig_traits<function_type>::type, DLIB_ANY_FUNCTION_NUM_ARGS>
 {
#define DLIB_ANY_FUNCTION_RETURN 
#include "any_function_impl.h"
#undef DLIB_ANY_FUNCTION_RETURN
 private:
 // You get a compiler error about this function being private if you try to assign
 // or copy between any_functions with different types. You must only copy between
 // any_functions that represent functions with the same signature.
 template <typename T> any_function(const any_function<T>&);
 };
#undef DLIB_ANY_FUNCTION_ARG_LIST
#undef DLIB_ANY_FUNCTION_ARGS
#undef DLIB_ANY_FUNCTION_NUM_ARGS
#endif // DLIB_ANY_FUNCTION_ARG_LIST

AltStyle によって変換されたページ (->オリジナル) /