diff options
| author | robot-piglet <[email protected]> | 2025-08-14 11:26:15 +0300 | 
|---|---|---|
| committer | robot-piglet <[email protected]> | 2025-08-14 12:06:36 +0300 | 
| commit | dc2bf727ea4698fa382f0f8623a8854c4900e212 (patch) | |
| tree | a621e92060fd7560066f33a323b4b8aca34f1e36 /contrib/libs/apache/arrow_next/cpp/src/arrow/status_internal.h | |
| parent | 322ee7d149464c6f18d6a330d937227cb022b9f3 (diff) | |
Intermediate changes
commit_hash:746e9b78ab4c78ba4f30511f1fa9330c0d56a406
Diffstat (limited to 'contrib/libs/apache/arrow_next/cpp/src/arrow/status_internal.h')
| -rw-r--r-- | contrib/libs/apache/arrow_next/cpp/src/arrow/status_internal.h | 45 | 
1 files changed, 45 insertions, 0 deletions
diff --git a/contrib/libs/apache/arrow_next/cpp/src/arrow/status_internal.h b/contrib/libs/apache/arrow_next/cpp/src/arrow/status_internal.h new file mode 100644 index 00000000000..32b0505a114 --- /dev/null +++ b/contrib/libs/apache/arrow_next/cpp/src/arrow/status_internal.h @@ -0,0 +1,45 @@ +#pragma clang system_header +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements.  See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership.  The ASF licenses this file +// to you 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. + +#pragma once + +#include "arrow/status.h" +#include "arrow/util/logging.h" + +namespace arrow20::internal { + +class StatusConstant { + public: +  StatusConstant(StatusCode code, std::string msg, +                 std::shared_ptr<StatusDetail> detail = nullptr) +      : state_{code, /*is_constant=*/true, std::move(msg), std::move(detail)} { +    ARROW_CHECK_NE(code, StatusCode::OK) +        << "StatusConstant is not intended for use with OK status codes"; +  } + +  operator Status() {  // NOLINT(runtime/explicit) +    Status st; +    st.state_ = &state_; +    return st; +  } + + private: +  Status::State state_; +}; + +}  // namespace arrow20::internal  | 
