Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
runtime
提交
11b746a6
R
runtime
项目概览
dotNET Platform
/
runtime
10 个月 前同步成功
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
runtime
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
11b746a6
编写于
6月 21, 2022
作者:
J
Jeremy Koritzinsky
提交者:
GitHub
6月 21, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove SString::UIndex and SString::UIterator as they are never used. (#71103)
上级
46f53e38
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
0 addition
and
158 deletion
+0
-158
src/coreclr/inc/sstring.h
src/coreclr/inc/sstring.h
+0
-52
src/coreclr/inc/sstring.inl
src/coreclr/inc/sstring.inl
+0
-106
未找到文件。
src/coreclr/inc/sstring.h
浏览文件 @
11b746a6
...
...
@@ -105,16 +105,11 @@ private:
protected:
class
Index
;
class
UIndex
;
friend
class
Index
;
friend
class
UIndex
;
public:
// UIterator is character-level assignable.
class
UIterator
;
// CIterators/Iterator'string must be modified by SString APIs.
class
CIterator
;
class
Iterator
;
...
...
@@ -325,53 +320,6 @@ private:
// CIterator and Iterator are cheap to create, but allow only read-only
// access to the string.
//
// UIterator forces a unicode conversion, but allows
// assignment to individual string characters. They are also a bit more
// efficient once created.
// ------------------------------------------------------------------
// UIterator:
// ------------------------------------------------------------------
protected:
class
EMPTY_BASES_DECL
UIndex
:
public
SBuffer
::
Index
{
friend
class
SString
;
friend
class
Indexer
<
WCHAR
,
UIterator
>
;
protected:
UIndex
();
UIndex
(
SString
*
string
,
SCOUNT_T
index
);
WCHAR
&
GetAt
(
SCOUNT_T
delta
)
const
;
void
Skip
(
SCOUNT_T
delta
);
SCOUNT_T
Subtract
(
const
UIndex
&
i
)
const
;
CHECK
DoCheck
(
SCOUNT_T
delta
)
const
;
WCHAR
*
GetUnicode
()
const
;
};
public:
class
EMPTY_BASES_DECL
UIterator
:
public
UIndex
,
public
Indexer
<
WCHAR
,
UIterator
>
{
friend
class
SString
;
public:
UIterator
()
{
}
UIterator
(
SString
*
string
,
int
index
)
:
UIndex
(
string
,
index
)
{
}
};
UIterator
BeginUnicode
();
UIterator
EndUnicode
();
// For CIterator & Iterator, we try our best to iterate the string without
// modifying it. (Currently, we do require an ASCII or Unicode string
// for simple WCHAR retrival, but you could imagine being more flexible
...
...
src/coreclr/inc/sstring.inl
浏览文件 @
11b746a6
...
...
@@ -1906,44 +1906,6 @@ inline void SString::ConvertToIteratable() const
SS_RETURN;
}
//-----------------------------------------------------------------------------
// Create iterators on the string.
//-----------------------------------------------------------------------------
inline SString::UIterator SString::BeginUnicode()
{
SS_CONTRACT(SString::UIterator)
{
GC_NOTRIGGER;
PRECONDITION(CheckPointer(this));
SS_POSTCONDITION(CheckValue(RETVAL));
THROWS;
}
SS_CONTRACT_END;
ConvertToUnicode();
EnsureWritable();
SS_RETURN UIterator(this, 0);
}
inline SString::UIterator SString::EndUnicode()
{
SS_CONTRACT(SString::UIterator)
{
GC_NOTRIGGER;
PRECONDITION(CheckPointer(this));
SS_POSTCONDITION(CheckValue(RETVAL));
THROWS;
}
SS_CONTRACT_END;
ConvertToUnicode();
EnsureWritable();
SS_RETURN UIterator(this, GetCount());
}
//-----------------------------------------------------------------------------
// Create CIterators on the string.
//-----------------------------------------------------------------------------
...
...
@@ -2135,74 +2097,6 @@ inline WCHAR SString::Index::operator[](int index) const
return *(WCHAR*)&GetAt(index);
}
//-----------------------------------------------------------------------------
// Iterator support routines
//-----------------------------------------------------------------------------
inline SString::UIndex::UIndex()
{
LIMITED_METHOD_CONTRACT;
}
inline SString::UIndex::UIndex(SString *string, SCOUNT_T index)
: SBuffer::Index(string, index*sizeof(WCHAR))
{
SS_CONTRACT_VOID
{
GC_NOTRIGGER;
PRECONDITION(CheckPointer(string));
PRECONDITION(string->IsRepresentation(REPRESENTATION_UNICODE));
PRECONDITION(DoCheck(0));
SS_POSTCONDITION(CheckPointer(this));
NOTHROW;
CANNOT_TAKE_LOCK;
}
SS_CONTRACT_END;
SS_RETURN;
}
inline WCHAR &SString::UIndex::GetAt(SCOUNT_T delta) const
{
LIMITED_METHOD_CONTRACT;
return ((WCHAR*)m_ptr)[delta];
}
inline void SString::UIndex::Skip(SCOUNT_T delta)
{
LIMITED_METHOD_CONTRACT;
m_ptr += delta * sizeof(WCHAR);
}
inline SCOUNT_T SString::UIndex::Subtract(const UIndex &i) const
{
WRAPPER_NO_CONTRACT;
return (SCOUNT_T) (GetUnicode() - i.GetUnicode());
}
inline CHECK SString::UIndex::DoCheck(SCOUNT_T delta) const
{
CANNOT_HAVE_CONTRACT;
#if _DEBUG
const SString *string = (const SString *) GetContainerDebug();
CHECK(GetUnicode() + delta >= string->GetRawUnicode());
CHECK(GetUnicode() + delta <= string->GetRawUnicode() + string->GetCount());
#endif
CHECK_OK;
}
inline WCHAR *SString::UIndex::GetUnicode() const
{
LIMITED_METHOD_CONTRACT;
return (WCHAR*) m_ptr;
}
//-----------------------------------------------------------------------------
// Opaque scratch buffer class routines
//-----------------------------------------------------------------------------
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录