mirror of https://github.com/dnomd343/klotski.git
				
				
			
				 8 changed files with 134 additions and 105 deletions
			
			
		| @ -1,49 +0,0 @@ | |||||
| #pragma once |  | ||||
| 
 |  | ||||
| namespace klotski::cases { |  | ||||
| 
 |  | ||||
| // ----------------------------------------------------------------------------------------- // |  | ||||
| 
 |  | ||||
| inline BasicRanges& BasicRanges::instance() noexcept { |  | ||||
|     static BasicRanges instance; |  | ||||
|     return instance; |  | ||||
| } |  | ||||
| 
 |  | ||||
| inline Ranges& BasicRanges::get_ranges() noexcept { |  | ||||
|     static Ranges ranges; |  | ||||
|     return ranges; |  | ||||
| } |  | ||||
| 
 |  | ||||
| inline const Ranges& BasicRanges::fetch() noexcept { |  | ||||
|     this->build(); |  | ||||
|     return get_ranges(); |  | ||||
| } |  | ||||
| 
 |  | ||||
| inline bool BasicRanges::is_available() const noexcept { |  | ||||
|     return available_; // no mutex required in one-way state |  | ||||
| } |  | ||||
| 
 |  | ||||
| // ----------------------------------------------------------------------------------------- // |  | ||||
| 
 |  | ||||
| inline AllCases& AllCases::instance() noexcept { |  | ||||
|     static AllCases instance; |  | ||||
|     return instance; |  | ||||
| } |  | ||||
| 
 |  | ||||
| inline RangesUnion& AllCases::get_cases() noexcept { |  | ||||
|     static RangesUnion cases; |  | ||||
|     return cases; |  | ||||
| } |  | ||||
| 
 |  | ||||
| inline const RangesUnion& AllCases::fetch() noexcept { |  | ||||
|     this->build(); |  | ||||
|     return get_cases(); |  | ||||
| } |  | ||||
| 
 |  | ||||
| inline bool AllCases::is_available() const noexcept { |  | ||||
|     return available_; // no mutex required in one-way state |  | ||||
| } |  | ||||
| 
 |  | ||||
| // ----------------------------------------------------------------------------------------- // |  | ||||
| 
 |  | ||||
| } // namespace klotski::codec |  | ||||
| @ -0,0 +1,21 @@ | |||||
|  | #pragma once | ||||
|  | 
 | ||||
|  | namespace klotski::cases { | ||||
|  | 
 | ||||
|  | inline RangesUnion& AllCases::get_cases() { | ||||
|  |     static RangesUnion cases; | ||||
|  |     return cases; | ||||
|  | } | ||||
|  | 
 | ||||
|  | inline const RangesUnion& AllCases::fetch() { | ||||
|  |     if (!available_) { | ||||
|  |         build(); | ||||
|  |     } | ||||
|  |     return get_cases(); | ||||
|  | } | ||||
|  | 
 | ||||
|  | inline bool AllCases::is_available() const { | ||||
|  |     return available_; // no mutex required in one-way state | ||||
|  | } | ||||
|  | 
 | ||||
|  | } // namespace klotski::codec | ||||
| @ -0,0 +1,21 @@ | |||||
|  | #pragma once | ||||
|  | 
 | ||||
|  | namespace klotski::cases { | ||||
|  | 
 | ||||
|  | inline Ranges& BasicRanges::get_ranges() { | ||||
|  |     static Ranges ranges; | ||||
|  |     return ranges; | ||||
|  | } | ||||
|  | 
 | ||||
|  | inline const Ranges& BasicRanges::fetch() { | ||||
|  |     if (!available_) { | ||||
|  |         build(); | ||||
|  |     } | ||||
|  |     return get_ranges(); | ||||
|  | } | ||||
|  | 
 | ||||
|  | inline bool BasicRanges::is_available() const { | ||||
|  |     return available_; // no mutex required in one-way state | ||||
|  | } | ||||
|  | 
 | ||||
|  | } // namespace klotski::codec | ||||
					Loading…
					
					
				
		Reference in new issue