this repo has no description
1/* -*- mode: C++; c-basic-offset: 2; indent-tabs-mode: nil -*- */ 2/* 3 * Main authors: 4 * Christian Schulte <schulte@gecode.org> 5 * Vincent Barichard <Vincent.Barichard@univ-angers.fr> 6 * 7 * Copyright: 8 * Christian Schulte, 2005 9 * Vincent Barichard, 2012 10 * 11 * This file is part of Gecode, the generic constraint 12 * development environment: 13 * http://www.gecode.org 14 * 15 * Permission is hereby granted, free of charge, to any person obtaining 16 * a copy of this software and associated documentation files (the 17 * "Software"), to deal in the Software without restriction, including 18 * without limitation the rights to use, copy, modify, merge, publish, 19 * distribute, sublicense, and/or sell copies of the Software, and to 20 * permit persons to whom the Software is furnished to do so, subject to 21 * the following conditions: 22 * 23 * The above copyright notice and this permission notice shall be 24 * included in all copies or substantial portions of the Software. 25 * 26 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 27 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 28 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 29 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 30 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 31 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 32 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 33 * 34 */ 35 36namespace Gecode { 37 38 /* 39 * Implementation 40 * 41 */ 42 43 forceinline 44 FloatValArgs::FloatValArgs(void) : ArgArray<FloatVal>(0) {} 45 46 forceinline 47 FloatValArgs::FloatValArgs(int n) : ArgArray<FloatVal>(n) {} 48 49 forceinline 50 FloatValArgs::FloatValArgs(const SharedArray<FloatVal>& x) 51 : ArgArray<FloatVal>(x.size()) { 52 for (int i=x.size(); i--;) 53 a[i] = x[i]; 54 } 55 forceinline 56 FloatValArgs::FloatValArgs(const std::vector<FloatVal>& x) 57 : ArgArray<FloatVal>(x) {} 58 template<class InputIterator> 59 forceinline 60 FloatValArgs::FloatValArgs(InputIterator first, InputIterator last) 61 : ArgArray<FloatVal>(first,last) {} 62 63 forceinline 64 FloatValArgs::FloatValArgs(int n, const FloatVal* e) 65 : ArgArray<FloatVal>(n, e) {} 66 67 forceinline 68 FloatValArgs::FloatValArgs(const ArgArray<FloatVal>& a) 69 : ArgArray<FloatVal>(a) {} 70 71 72 forceinline 73 FloatVarArgs::FloatVarArgs(void) {} 74 75 forceinline 76 FloatVarArgs::FloatVarArgs(int n) 77 : VarArgArray<FloatVar>(n) {} 78 79 forceinline 80 FloatVarArgs::FloatVarArgs(const FloatVarArgs& a) 81 : VarArgArray<FloatVar>(a) {} 82 83 forceinline 84 FloatVarArgs::FloatVarArgs(const VarArray<FloatVar>& a) 85 : VarArgArray<FloatVar>(a) {} 86 87 forceinline 88 FloatVarArgs::FloatVarArgs(const std::vector<FloatVar>& a) 89 : VarArgArray<FloatVar>(a) {} 90 91 forceinline 92 FloatVarArgs::FloatVarArgs(std::initializer_list<FloatVar> a) 93 : VarArgArray<FloatVar>(a) {} 94 95 template<class InputIterator> 96 forceinline 97 FloatVarArgs::FloatVarArgs(InputIterator first, InputIterator last) 98 : VarArgArray<FloatVar>(first,last) {} 99 100 101 forceinline 102 FloatVarArray::FloatVarArray(void) {} 103 104 forceinline 105 FloatVarArray::FloatVarArray(Space& home, int n) 106 : VarArray<FloatVar>(home,n) {} 107 108 forceinline 109 FloatVarArray::FloatVarArray(const FloatVarArray& a) 110 : VarArray<FloatVar>(a) {} 111 112 forceinline 113 FloatVarArray::FloatVarArray(Space& home, const FloatVarArgs& a) 114 : VarArray<FloatVar>(home,a) {} 115 116} 117 118// STATISTICS: float-other