LibreOffice Module vcl (master)
1
include
vcl
IContext.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*/
9
10
#pragma once
11
12
#include <
vcl/EnumContext.hxx
>
13
#include <vector>
14
15
#include <algorithm>
16
17
namespace
vcl
18
{
19
class
VCL_DLLPUBLIC
SAL_LOPLUGIN_ANNOTATE
("crosscast") IContext
20
{
21
protected
:
22
IContext() {
maContext
.push_back(
vcl::EnumContext::Context::Any
); }
23
24
public
:
25
void
SetContext(std::vector<vcl::EnumContext::Context>&& aContext)
26
{
27
maContext
= std::move(aContext);
28
}
29
30
bool
HasContext(
const
vcl::EnumContext::Context
eContext)
const
31
{
32
auto
aFind = std::find(
maContext
.begin(),
maContext
.end(), eContext);
33
if
(aFind ==
maContext
.end())
34
return
false
;
35
return
true
;
36
}
37
38
private
:
39
std::vector<vcl::EnumContext::Context>
maContext
;
40
};
41
42
}
// namespace vcl
43
44
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
EnumContext.hxx
vcl::EnumContext::Context
Context
Definition:
EnumContext.hxx:65
vcl::EnumContext::Context::Any
@ Any
VCL_DLLPUBLIC
#define VCL_DLLPUBLIC
Definition:
dllapi.h:29
maContext
SlideShowContext maContext
vcl
vcl::SAL_LOPLUGIN_ANNOTATE
class VCL_DLLPUBLIC SAL_LOPLUGIN_ANNOTATE("crosscast") IPrioritable
Definition:
IPrioritable.hxx:20
Generated on Sun Jul 30 2023 04:34:48 for LibreOffice Module vcl (master) by
1.9.3