]> git.lyx.org Git - lyx.git/blobdiff - src/Encoding.h
Cmake export tests: Created sub-labels manuals, examples, templates, mathmacros,...
[lyx.git] / src / Encoding.h
index ebdfb98b0ca476d8d1f115268059c65337f2d153..f1513c8f625ff85ec95c4de6d30b0cd47a40b27b 100644 (file)
@@ -109,7 +109,11 @@ private:
 };
 
 
-///
+/**
+ * An encoding as defined in lib/encodings.
+ * All const methods are thread-safe, so the caller does not need any locking.
+ * This property must be kept when changing the class.
+ */
 class Encoding {
 public:
        /// Which LaTeX package handles this encoding?
@@ -122,7 +126,8 @@ public:
        /// Represent any of the above packages
        static int const any;
        ///
-       Encoding() : fixedwidth_(true), unsafe_(false), complete_(false) {}
+       Encoding() : fixedwidth_(true), unsafe_(false), start_encodable_(0),
+                    package_(none), complete_(false) {}
        ///
        Encoding(std::string const & n, std::string const & l,
                 std::string const & g, std::string const & i,
@@ -195,13 +200,13 @@ private:
        typedef std::set<char_type> CharSet;
        /// Set of UCS4 characters that we can encode (for singlebyte
        /// encodings only)
-       mutable CharSet encodable_;
+       CharSet encodable_;
        /// Set of UCS4 characters that we can't encode
        CharSet const * forced_;
        /// All code points below this are encodable. This helps us to avoid
        /// lokup of ASCII characters in encodable_ and gives about 1 sec
        /// speedup on export of the Userguide.
-       mutable char_type start_encodable_;
+       char_type start_encodable_;
        /// Which LaTeX package handles this encoding?
        Package package_;
        /**
@@ -211,7 +216,7 @@ private:
         * This is needed especially for the multibyte encodings, if we
         * complete all encoding info on startup it takes 2-3 minutes.
         */
-       mutable bool complete_;
+       bool complete_;
 };
 
 class Encodings {