LibreOffice Module ucb (master) 1
regexp.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 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <rtl/ustring.hxx>
23
24
25namespace ucb_impl {
26
27class Regexp
28{
29public:
30 enum Kind
31 {
35 };
36
37 inline bool operator ==(Regexp const & rOther) const;
38
39 bool isDefault() const
40 { return m_eKind == KIND_PREFIX && m_aPrefix.isEmpty(); }
41
42 Kind getKind() const { return m_eKind; }
43
44 bool matches(OUString const & rString) const;
45
46 OUString getRegexp() const;
47
48 static Regexp parse(OUString const & rRegexp);
49
50private:
52 OUString m_aPrefix;
53 OUString m_aInfix;
57
58 inline Regexp(Kind eTheKind, OUString aThePrefix,
59 bool bTheEmptyDomain, OUString aTheInfix,
60 bool bTheTranslation,
61 OUString aTheReversePrefix);
62};
63
64inline bool Regexp::operator ==(Regexp const & rOther) const
65{
66 return m_eKind == rOther.m_eKind
67 && m_aPrefix == rOther.m_aPrefix
68 && m_aInfix == rOther.m_aInfix;
69}
70
71}
72
73/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool m_bEmptyDomain
Definition: regexp.hxx:55
OUString m_aReversePrefix
Definition: regexp.hxx:54
OUString m_aInfix
Definition: regexp.hxx:53
OUString getRegexp() const
Definition: regexp.cxx:174
bool operator==(Regexp const &rOther) const
Definition: regexp.hxx:64
bool isDefault() const
Definition: regexp.hxx:39
Kind getKind() const
Definition: regexp.hxx:42
OUString m_aPrefix
Definition: regexp.hxx:52
Regexp(Kind eTheKind, OUString aThePrefix, bool bTheEmptyDomain, OUString aTheInfix, bool bTheTranslation, OUString aTheReversePrefix)
Definition: regexp.cxx:38
static Regexp parse(OUString const &rRegexp)
Definition: regexp.cxx:292
bool matches(OUString const &rString) const
Definition: regexp.cxx:81
bool m_bTranslation
Definition: regexp.hxx:56