sparrow 2.3.1
C++20 idiomatic APIs for the Apache Arrow Columnar Format
Loading...
Searching...
No Matches
sparrow_exception.hpp
Go to the documentation of this file.
1// Copyright 2024 Man Group Operations Limited
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#pragma once
16#include <stdexcept>
17#include <string>
18
20
21namespace sparrow
22{
23// MSVC warns C4275 when a dllexport class inherits from a non-dllexport base.
24// This is safe and expected for exception classes; suppress the warning.
25#ifdef _MSC_VER
26# pragma warning(push)
27# pragma warning(disable : 4275)
28#endif
29 class SPARROW_API contract_assertion_error : public std::runtime_error
30 {
31 public:
32
33 explicit contract_assertion_error(const std::string& message);
34 explicit contract_assertion_error(const char* message);
35 };
36#ifdef _MSC_VER
37# pragma warning(pop)
38#endif
39}
contract_assertion_error(const char *message)
contract_assertion_error(const std::string &message)
#define SPARROW_API
Definition config.hpp:38