Google OR-Tools
v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
non_streamable_solver_init_arguments.cc
Go to the documentation of this file.
1
// Copyright 2010-2024 Google LLC
2
// Licensed under the Apache License, Version 2.0 (the "License");
3
// you may not use this file except in compliance with the License.
4
// You may obtain a copy of the License at
5
//
6
// http://www.apache.org/licenses/LICENSE-2.0
7
//
8
// Unless required by applicable law or agreed to in writing, software
9
// distributed under the License is distributed on an "AS IS" BASIS,
10
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
// See the License for the specific language governing permissions and
12
// limitations under the License.
13
14
#include "
ortools/math_opt/core/non_streamable_solver_init_arguments.h
"
15
16
#include <memory>
17
18
namespace
operations_research::math_opt
{
19
namespace
{
20
21
// Returns non_streamable->Clone() if non_streamable is not nullptr, else
22
// returns nullptr.
23
std::unique_ptr<const NonStreamableSolverInitArguments> CloneIfNotNull(
24
const
NonStreamableSolverInitArguments*
const
non_streamable) {
25
return
non_streamable !=
nullptr
? non_streamable->Clone() :
nullptr
;
26
}
27
28
}
// namespace
29
30
NonStreamableSolverInitArgumentsValue::NonStreamableSolverInitArgumentsValue
(
31
const
NonStreamableSolverInitArguments
& non_streamable)
32
: non_streamable_(non_streamable.Clone()) {}
33
34
NonStreamableSolverInitArgumentsValue::NonStreamableSolverInitArgumentsValue
(
35
const
NonStreamableSolverInitArgumentsValue
& other)
36
: non_streamable_(CloneIfNotNull(other.non_streamable_.get())) {}
37
38
NonStreamableSolverInitArgumentsValue
&
39
NonStreamableSolverInitArgumentsValue::operator=
(
40
const
NonStreamableSolverInitArgumentsValue
& other) {
41
// Assignment to self is possible.
42
if
(&other ==
this
) {
43
return
*
this
;
44
}
45
46
non_streamable_ = CloneIfNotNull(other.non_streamable_.get());
47
48
return
*
this
;
49
}
50
51
}
// namespace operations_research::math_opt
operations_research::math_opt::NonStreamableSolverInitArgumentsValue
Definition
non_streamable_solver_init_arguments.h:142
operations_research::math_opt::NonStreamableSolverInitArgumentsValue::operator=
NonStreamableSolverInitArgumentsValue & operator=(const NonStreamableSolverInitArgumentsValue &other)
Clones other.get() if not nullptr.
Definition
non_streamable_solver_init_arguments.cc:39
operations_research::math_opt::NonStreamableSolverInitArgumentsValue::NonStreamableSolverInitArgumentsValue
NonStreamableSolverInitArgumentsValue()=default
Initializes with no value.
operations_research::math_opt
An object oriented wrapper for quadratic constraints in ModelStorage.
Definition
gurobi_isv.cc:28
non_streamable_solver_init_arguments.h
operations_research::math_opt::NonStreamableSolverInitArguments
Definition
non_streamable_solver_init_arguments.h:48
ortools
math_opt
core
non_streamable_solver_init_arguments.cc
Generated by
1.12.0