merge(3p/absl): subtree merge of Abseil up to e19260f
... notably, this includes Abseil's own StatusOr type, which conflicted with our implementation (that was taken from TensorFlow). Change-Id: Ie7d6764b64055caaeb8dc7b6b9d066291e6b538f
This commit is contained in:
		
							parent
							
								
									cc27324d02
								
							
						
					
					
						commit
						082c006c04
					
				
					 854 changed files with 11260 additions and 5296 deletions
				
			
		
							
								
								
									
										58
									
								
								third_party/abseil_cpp/absl/status/internal/status_internal.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								third_party/abseil_cpp/absl/status/internal/status_internal.h
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,58 @@ | |||
| // Copyright 2019 The Abseil Authors.
 | ||||
| //
 | ||||
| // 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
 | ||||
| //
 | ||||
| //      https://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.
 | ||||
| #ifndef ABSL_STATUS_INTERNAL_STATUS_INTERNAL_H_ | ||||
| #define ABSL_STATUS_INTERNAL_STATUS_INTERNAL_H_ | ||||
| 
 | ||||
| #include <string> | ||||
| 
 | ||||
| #include "absl/container/inlined_vector.h" | ||||
| #include "absl/strings/cord.h" | ||||
| 
 | ||||
| namespace absl { | ||||
| ABSL_NAMESPACE_BEGIN | ||||
| 
 | ||||
| enum class StatusCode : int; | ||||
| 
 | ||||
| namespace status_internal { | ||||
| 
 | ||||
| // Container for status payloads.
 | ||||
| struct Payload { | ||||
|   std::string type_url; | ||||
|   absl::Cord payload; | ||||
| }; | ||||
| 
 | ||||
| using Payloads = absl::InlinedVector<Payload, 1>; | ||||
| 
 | ||||
| // Reference-counted representation of Status data.
 | ||||
| struct StatusRep { | ||||
|   StatusRep(absl::StatusCode code, std::string message, | ||||
|             std::unique_ptr<status_internal::Payloads> payloads) | ||||
|       : ref(int32_t{1}), | ||||
|         code(code), | ||||
|         message(std::move(message)), | ||||
|         payloads(std::move(payloads)) {} | ||||
| 
 | ||||
|   std::atomic<int32_t> ref; | ||||
|   absl::StatusCode code; | ||||
|   std::string message; | ||||
|   std::unique_ptr<status_internal::Payloads> payloads; | ||||
| }; | ||||
| 
 | ||||
| absl::StatusCode MapToLocalCode(int value); | ||||
| }  // namespace status_internal
 | ||||
| 
 | ||||
| ABSL_NAMESPACE_END | ||||
| }  // namespace absl
 | ||||
| 
 | ||||
| #endif  // ABSL_STATUS_INTERNAL_STATUS_INTERNAL_H_
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue