qpdf/include/qpdf/QTC.hh

43 lines
1.5 KiB
C++

// Copyright (c) 2005-2024 Jay Berkenbilt
//
// This file is part of qpdf.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
// in compliance with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed under the License
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
// or implied. See the License for the specific language governing permissions and limitations under
// the License.
//
// Versions of qpdf prior to version 7 were released under the terms of version 2.0 of the Artistic
// License. At your option, you may continue to consider qpdf to be licensed under those terms.
// Please see the manual for additional information.
#ifndef QTC_HH
#define QTC_HH
#include <qpdf/DLL.h>
// Defining QPDF_DISABLE_QTC will effectively compile out any QTC::TC calls in any code that
// includes this file, but QTC will still be built into the library. That way, it is possible to
// build and package qpdf with QPDF_DISABLE_QTC while still making QTC::TC available to end users.
namespace QTC
{
QPDF_DLL
void TC_real(char const* const scope, char const* const ccase, int n = 0);
inline void
TC(char const* const scope, char const* const ccase, int n = 0)
{
#ifndef QPDF_DISABLE_QTC
TC_real(scope, ccase, n);
#endif // QPDF_DISABLE_QTC
}
}; // namespace QTC
#endif // QTC_HH