[前][次][番号順一覧][スレッド一覧]

ruby-changes:67788

From: =E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3 <ko1@a...>
Date: Fri, 10 Sep 2021 20:02:01 +0900 (JST)
Subject: [ruby-changes:67788] 5f478d8ac3 (master): include/ruby/internal/intern/compar.h: add doxygen

https://git.ruby-lang.org/ruby.git/commit/?id=5f478d8ac3

From 5f478d8ac3101bf774e8f3f1943fde37ab36db5b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8D=9C=E9=83=A8=E6=98=8C=E5=B9=B3?=
 <shyouhei@r...>
Date: Thu, 13 May 2021 14:06:12 +0900
Subject: include/ruby/internal/intern/compar.h: add doxygen

Must not be a bad idea to improve documents. [ci skip]
---
 include/ruby/internal/intern/compar.h | 32 ++++++++++++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/include/ruby/internal/intern/compar.h b/include/ruby/internal/intern/compar.h
index ede8626..dc3b377 100644
--- a/include/ruby/internal/intern/compar.h
+++ b/include/ruby/internal/intern/compar.h
@@ -20,14 +20,42 @@ https://github.com/ruby/ruby/blob/trunk/include/ruby/internal/intern/compar.h#L20
  *             extension libraries.  They could be written in C++98.
  * @brief      Public APIs related to ::rb_mComparable.
  */
+#include "ruby/internal/attr/cold.h"
+#include "ruby/internal/attr/noreturn.h"
 #include "ruby/internal/dllexport.h"
 #include "ruby/internal/value.h"
 
 RBIMPL_SYMBOL_EXPORT_BEGIN()
 
+/* bignum.c */
+
+/**
+ * Canonicalises the passed `val`, which is the return value of `a <=> b`, into
+ * C's `{-1, 0, 1}`.  This can be  handy when you implement a callback function
+ * to pass to `qsort(3)` etc.
+ *
+ * @param[in]  val           Return value of a space ship operator.
+ * @param[in]  a             Comparison LHS.
+ * @param[in]  b             Comparison RHS.
+ * @exception  rb_eArgError  `a` and `b` are not comparable each other.
+ * @retval     -1            `val` is less than zero.
+ * @retval     0             `val` is equal to zero.
+ * @retval     1             `val` is greater than zero.
+ */
+int rb_cmpint(VALUE val, VALUE a, VALUE b);
+
 /* compar.c */
-int rb_cmpint(VALUE, VALUE, VALUE);
-NORETURN(void rb_cmperr(VALUE, VALUE));
+
+RBIMPL_ATTR_COLD()
+RBIMPL_ATTR_NORETURN()
+/**
+ * Raises "comparison failed" error.
+ *
+ * @param[in]  a             Comparison LHS.
+ * @param[in]  b             Comparison RHS.
+ * @exception  rb_eArgError  `a` and `b` are not comparable each other.
+ */
+void rb_cmperr(VALUE a, VALUE b);
 
 RBIMPL_SYMBOL_EXPORT_END()
 
-- 
cgit v1.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]