Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:49:39

0001 /*
0002  * Copyright (c) 2019 Opticks Team. All Rights Reserved.
0003  *
0004  * This file is part of Opticks
0005  * (see https://bitbucket.org/simoncblyth/opticks).
0006  *
0007  * Licensed under the Apache License, Version 2.0 (the "License"); 
0008  * you may not use this file except in compliance with the License.  
0009  * You may obtain a copy of the License at
0010  *
0011  *   http://www.apache.org/licenses/LICENSE-2.0
0012  *
0013  * Unless required by applicable law or agreed to in writing, software 
0014  * distributed under the License is distributed on an "AS IS" BASIS, 
0015  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
0016  * See the License for the specific language governing permissions and 
0017  * limitations under the License.
0018  */
0019 
0020 #pragma once
0021 #include <cstddef>
0022 
0023 #include "SYSRAP_API_EXPORT.hh"
0024 
0025 /**
0026 SId
0027 ====
0028 
0029 Supply single char identifiers from ctor argument string, 
0030 until run out at which point cycle is incremented so give
0031 an integer suffix. 
0032 
0033 reset returns to the first identifier.
0034 
0035 This is used for code generation in X4Solid, search for g4code.
0036  
0037 **/
0038 
0039 
0040 struct SYSRAP_API SId 
0041 {
0042     SId(const char* identifiers_);  
0043 
0044     const char* get(bool reset=false); 
0045     void reset(); 
0046 
0047     const char* identifiers ; 
0048     int         len ; 
0049     int         idx ; 
0050     int         cycle ; 
0051 };
0052 
0053