library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub kk2a/library

:heavy_check_mark: type_traits/functional.hpp

Required by

Verified with

Code

#ifndef KK2_TYPE_TRAITS_FUNCTIONAL_HPP
#define KK2_TYPE_TRAITS_FUNCTIONAL_HPP 1

#pragma once // oj-verify

#include <type_traits>

namespace kk2 {

template <typename T> using is_function_pointer =
    typename std::conditional<std::is_pointer_v<T> && std::is_function_v<std::remove_pointer_t<T>>,
                              std::true_type,
                              std::false_type>::type;

template <typename T, std::enable_if_t<is_function_pointer<T>::value> * = nullptr>
struct is_two_args_function_pointer : std::false_type {};

template <typename R, typename T1, typename T2> struct is_two_args_function_pointer<R (*)(T1, T2)>
    : std::true_type {};

template <typename T> using is_two_args_function_pointer_t =
    std::enable_if_t<is_two_args_function_pointer<T>::value>;

} // namespace kk2

#endif // KK2_TYPE_TRAITS_FUNCTIONAL_HPP
Traceback (most recent call last):
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/documentation/build.py", line 71, in _render_source_code_stat
    bundled_code = language.bundle(stat.path, basedir=basedir, options={'include_paths': [basedir]}).decode()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/languages/cplusplus.py", line 187, in bundle
    bundler.update(path)
  File "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/onlinejudge_verify/languages/cplusplus_bundle.py", line 312, in update
    raise BundleErrorAt(path, i + 1, "#pragma once found in a non-first line")
onlinejudge_verify.languages.cplusplus_bundle.BundleErrorAt: type_traits/functional.hpp: line 4: #pragma once found in a non-first line
Back to top page