File: lsDocumentUri.h

package info (click to toggle)
asymptote 2.85%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 43,264 kB
  • sloc: cpp: 210,491; ansic: 98,376; python: 14,568; javascript: 6,629; sh: 4,301; perl: 1,566; lisp: 1,505; makefile: 764; yacc: 554; lex: 446; xml: 182; objc: 177
file content (26 lines) | stat: -rw-r--r-- 881 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once
#include "LibLsp/JsonRpc/serializer.h"
#include <string>
struct lsDocumentUri {
        static lsDocumentUri FromPath(const AbsolutePath& path);

        lsDocumentUri();

        lsDocumentUri(const AbsolutePath& path);
        lsDocumentUri(const lsDocumentUri& other);;
        bool operator==(const lsDocumentUri& other) const;
        bool operator==(const std::string& other) const;
        void SetPath(const AbsolutePath& path);
        std::string GetRawPath() const;
        AbsolutePath GetAbsolutePath() const;


        std::string raw_uri_;
        void swap(lsDocumentUri& arg) noexcept
        {
                raw_uri_.swap(arg.raw_uri_);
        }
};
extern void Reflect(Writer& visitor, lsDocumentUri& value);
extern void Reflect(Reader& visitor, lsDocumentUri& value);
extern   std::string  make_file_scheme_uri(const std::string& absolute_path);