This documentation is automatically generated by online-judge-tools/verification-helper
#include "type_traits/functional.hpp"
#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